Friday, September 14, 2007

That reminds me...

All of this discussion about distributed source control systems got me thinking about a little piece of abandonware I wrote last year to help me manage permissions in a Subversion repository I was administering. I kept meaning to release it, but it needed a lot of polish so I kept waiting. Nowadays I don't do much svn repo administration, so I have less incentive than ever to work on it, and it still needs polish. I haven't worked on it in almost a year.

But it's a great excuse to mess around with a DSCM and see what all the fuss is about. I picked bzr because it has Windows support, and because if it bugs me I'm more likely to hack on Python code than a bunch of C and Bash.

bzr co http://www.gnome.org/~sharm/svnservant

If I ever get around to cleaning up this very "my first pygtk app", I'll post a proper introduction.

In the mean time, I'm using bzr* 0.15 because that's what comes with Feisty. I'm also using Meld 1.1.4 to view my diffs, but its bzr support is nowhere near as good as its svn support. Olive-gtk is alright, too. Any suggestions for bzr bliss?

Oh, and thanks to John Carr for starting this page on using bzr with GNOME svn. Awesome, dude! Why did I have to find this by accident?

3 comments:

dasch said...

You probably want to use "bzr branch http://www.gnome.org/~sharm/svnservant" instead -- that will create a local branch, which you can later merge with the main branch.

Using "co" (or "checkout") will create what's called a "bound" branch, which means that each commit is propagated to the original branch (just like in Subversion.)

Sandy said...

@dasch: Why would I want to work on a local branch instead? My commits still don't go up until I execute `bzr push`, right? Considering I'm the only committer, branching/etc just seems like extra steps.

Feel free to correct/educate me on this, though. :-)

Sandy said...

@dasch: Nevermind, I was totally wrong on my previous comment. Thanks for the advice!