Comment by 🥬 lamb-duh

Re: "Git over Gemini"

In: s/Gemini

Thank you for calling attention to the prior work. I actually didn't think to look around for it since I haven't yet found a gemini:// link to a git repo. Do you happen to know of any? If not, do you know if there were in the past?

I think I will add a suffix to my repo name so that they can be differentiated.

That tool seems to be built around a different git-remote-helpers capability than I used. That is something that will probably be worth looking into, it might be worth implementing, especially if there are already git repos out there using it.

🥬 lamb-duh [OP]

Jan 19 · 4 months ago

4 Later Comments ↓

🚀 mbays · Jan 19 at 20:28:

@lamb-duh Thanks. I tried the workflow you suggested, but it still doesn't work. I get a different error message though. I can paste it if you want, but I guess you'll get the same error yourself if you try `git clone gemini://gemini.thegonz.net/cdg-git/`. I don't think I know of any use of the rust plugin, but that doesn't mean there wasn't any.

🥬 lamb-duh [OP] · Jan 19 at 21:28:

I've pushed an update that fixes the issue. There was a bug that I didn't see before because you have signed commits. I also added checks in a few places (including the first error you got) that will exit with a brief explanation that the URL is not a valid git repository, rather than showing a python stack trace with a meaningless error.

I also fixed an unrelated issue that came up because we have different default branch names. If you are cohosting a capsule at the same address as a git repository you will also need to expose the file HEAD.

🚀 mbays · Jan 19 at 22:40:

@lamb-duh Nice, I could successfully clone with the new version, though I still get a warning:

Exception ignored on flushing sys.stdout:

BrokenPipeError: [Errno 32] Broken pipe

☕️ dce · Jan 21 at 14:46:

Ooh, I like it! I wonder if source.community might implement this?

Original Post

🌒 s/Gemini

🥬 lamb-duh:

Git over Gemini — I wrote a git plugin that adds support for [gemini link] URLs. Fetching works over static file hosting, all that needs to be done is run `git update-server-info` on the repository and host the files over gemini. [gemini link] Once you have installed it, try cloning that same URL. There is also support for connecting to a remote git process over the gemini protocol. This gives you all the capabilities of git (not just fetch), but requires special cooperation from the server....

💬 7 comments · 3 likes · Jan 18 · 4 months ago