From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bakul Shah Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (1.0) Date: Sat, 3 Dec 2016 12:05:06 -0800 Message-Id: <83DF820D-2ADA-4E85-A45A-3231CBB30A62@bitblocks.com> References: In-Reply-To: To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Subject: Re: [9fans] git client-ish Topicbox-Message-UUID: afe037a6-ead9-11e9-9d60-3106f5b1d025 > On Dec 3, 2016, at 11:20 AM, Dave MacFarlane wrote: > > 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 >