There has been a trend in the Annodex community lately to move towards using git rather than SVN for source code management. Now while I applaud the move to a DVCS, I hate having to use git. It is just extremely painful IMHO.
I just shouldn’t have to look up a man page or tutorial every time I want to use a tool. Something I don’t have to do with any of CSV, SVN, bzr or mecurial. Git may have some benefits under the hood but I think its user interface still has a long way to go. I can totally understand how git is the perfect tool for the kernel community but I just don’t think it makes a lot of sense for some other communities who have jumped on the badwagon.
The nice folks over in the bazaar community have found a way to ease my pain. Some of you may be familiar with the bzr-svn plugin written by Jelmer Vernooij. Well he has recently expanded on the work started by Rob Collins and now we have a working bzr-git.
johnf@zoot:~$ bzr branch git://git.xiph.org/liboggz.git Branched 734 revision(s). johnf@zoot:~$ cd liboggz.git/ johnf@zoot:~/liboggz.git$ bzr log -r -1 ------------------------------------------------------------ revno: 734 git commit: ef3b0ebc1fdc299a09119df01fbd1c8867f90d8b committer: Conrad Parker timestamp: Wed 2009-04-01 00:59:36 +0000 message: Update the link to the theora spec Patch by Ralph Giles
Joy!!! Many thanks to the wonderful guys in the bazzar community for making my life so much easier. All we need now is bzr-hg and I’ll never have to leave my comfort zone đŸ™‚
Pulling from git using bzr is all very fine, but once you make local changes, how do you push them back to upstream? If you were using git, you’d put a copy of your branch on a web server and get upstream to pull from that. Obviously, that’s not going to work on if you pull with bzr.
@Erik
I haven’t looked into it that much as it’s not my use case. But I’m pretty sure you could have a git repo on your web server branch from it. Then branch from upstream make your changes, merge them into your servers branch and push.
Also bzr has a git-serve command which looks like it will sit on the server and publish your bzr branch as a git branch. Ie people can connect to “bzr git-serve” with a git client. Which is probably the method I’d go for. Since I natively get to use bzr but people can pull from me using git.