From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 From: Dave MacFarlane Date: Sat, 3 Dec 2016 14:20:43 -0500 Message-ID: To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: text/plain; charset=UTF-8 Subject: [9fans] git client-ish Topicbox-Message-UUID: afda87d4-ead9-11e9-9d60-3106f5b1d025 I mentioned in another thread that I had started working on a pure go git client a while ago, then abandoned it, which gave me an itch to pick it up again. I've finally implemented enough that it can bootstrap its own development, and theoretically be used on Plan 9, but then I realized I don't currently have any machines with all of Plan 9, Go, and a network connection to test it on. Would someone who has all of the above kindly try compiling it on Plan 9 and let me know if there's any problems? It's at https://github.com/driusan/go-git.You'll need the 9legacy git rc hack for Go to bootstrap it.. You should be able to: go-git init go-git clone* go-git fetch* go-git add file (from the root of the working directory only) go-git checkout file (same) go-git commit -m 'message' go-git status go-git merge (fast-forward only) go-git push works over https to GitLab, but not GitHub (GitHub responds with "200 OK" and no body but doesn't update the references, so I opened a ticket to see if I can get more information from them about why it doesn't work.. you also need to run as "go-git push localbranchname", which isn't the standard git command line.. ) The happy paths for a few other git plumbing commands are implemented. The code's not very well written (I didn't know much about git internals or Go when I started, and mostly just wanted to hack something together that works at first), but if anyone wants to contribute, you can try to email me a patch using ape/diff in some kind of format that I can apply under DragonFlyBSD and commit under your name until whatever the issue with GitHub is is resolved.. * large repositories will likely crash because the Go zlib implementation is greedy on the underlying io.Reader, and the hack that I added to rewind to the end of the last compressed block when reading packfiles isn't 100% accurate. - Dave