Friday, April 10, 2009

Bazaar

One of my favorite pieces of software is Bazaar. It's a distributed source control system in the same family as Git and Mercurial. I've had this IRC conversation a couple times in #bzr, so I thought I'd paste it for the great Google Overmind to index:

21:44 -!- dfrbn [n=adam@93.54.124.24.cm.sunflower.com] has joined #bzr
21:45 <dfrbn> are there any options for integrating netbeans with bazaar currently?
21:45 <dfrbn> (aside from writing a plugin ;)
21:51 <NfNitLoop> Last I checked (which, admittely, was a while ago), no.
21:51 <NfNitLoop> There *is* an Eclipse plugin.
21:51 <NfNitLoop> and the eclipse plugin is modularized in a way that should be mostly reusable if someone wanted to make a Netbeans plugin.
21:52 <NfNitLoop> (ie: POJOs and communicating w/ bzr via XML output)
21:52 <NfNitLoop> again, all this is a bit dated. I just use the commandline. :p
21:53 <NfNitLoop> dfrbn: are you developing on *nix by any chance?
21:53 <dfrbn> NfNitLoop, yeap, entirely
21:53 <NfNitLoop> I recently have become fond of a program called 'meld'.
21:53 <NfNitLoop> it's a visual diff analizer, but it works with svn and bzr to show you local changes in your working copy.
21:53 <NfNitLoop> and resolve conflicts.
21:54 <NfNitLoop> I find meld + command-line bzr better than any IDE plugins I've used.
21:54 <dfrbn> nice, tks for that, I'll check it out.
21:54 <NfNitLoop> hint w/ meld though, for bzr it always wants you to run it pointing at the root dir of your repo.
21:54 <NfNitLoop> which you can handly do with: meld `bzr root`
21:54 <dfrbn> right on. I do like using svn in netbeans, I find the ui very comfortable to use
21:54 <NfNitLoop> :)
21:56 <dfrbn> I'm debating on where to host a project and am leaning to mercurial just cuz of the netbeans integration. But I don't have any experience with either.
21:56 <NfNitLoop> I've been keeping an eye on mercurial...
21:57 <NfNitLoop> as an openly biased bzr groupie, here are the reasons I stick with bzr:
21:57 <NfNitLoop> 1) bzr keeps things simpler. (without actually lacking features)
21:57 <NfNitLoop> 2) bzr-svn is the best svn integration I've seen.
21:58 <NfNitLoop> 3) the bzr team has been really responsive to my questions/bug-reports/etc.
21:59 <NfNitLoop> Oh, and launchpad.net is pretty spiffy. :)
21:59 <dfrbn> So I could have my own master repo in subversion for the project (which I already do), and merge my changes into bzr and use both?
21:59 <NfNitLoop> dfrbn: Yep!
21:59 <dfrbn> agreed on launchpad :)
21:59 <NfNitLoop> you can do 'bzr branch' from a svn repo and it is a fully fledged bzr repo.
22:00 <NfNitLoop> which just happens to have enough metadata to merge back into a svn repo.
22:00 <dfrbn> interesting
22:01 <dfrbn> I like the idea of keeping my own master repo
22:01 <dfrbn> as long as it's easy to merge back and forth
22:02 <NfNitLoop> There are a couple caveats...
22:03 <NfNitLoop> SVN can't represent nonlinear history.
22:03 <NfNitLoop> so it's best to keep a bzr branch that mirrors svn, then merge (or rebase) onto that, then push that up to SVN to keep things linear.
22:03 <NfNitLoop> you wouldn't lose any data doing it another way...
22:03 <NfNitLoop> but your svn history would be...
22:04 <NfNitLoop> not what svn users expect. :)
22:04 <dfrbn> gotcha
22:04 -!- AfC is now known as AfC|cafe
22:04 <NfNitLoop> (This applies to any DSCM that interfaces with SVN)
22:05 <dfrbn> I see. the only kinda distributed one I've ever worked with was a windows email based on called code coop by relisoft. it was actually pretty cool, but that was a long time ago
22:06 <NfNitLoop> hopefully you'll find that things have improved quite a bit since then. :)
22:06 <dfrbn> :)
22:06 <NfNitLoop> the bzr wiki has a great int[r]o to different distributed workflows.
22:06 <NfNitLoop> let me find it...
22:07 <NfNitLoop> http://bazaar-vcs.org/Workflows
22:07 <NfNitLoop> heh, easy enough.

No comments:

Post a Comment