[Sparkle] LaunchPad + Bazaar vs. Lighthouse + Git[Hub]
Dave Dribin
dave-ml at dribin.org
Thu May 8 07:25:53 PDT 2008
Hi all,
Well, I noticed Mercurial wasn't an option. Not sure why, as it's
quite capable and popular, too. Perhaps there's no public hg hosting
available, but really, all you need is Python+CGI to set it up. I
personally find Mercurial less confusing than Git. I also love "hg
addremove". But really, Git, Mercurial, or Bazaar are all quite
capable.
One thing to keep in mind with DVCSs and OS X programming is that the
ability to branch and merge is limited by Xcode and Interface
Builder. Those pesky .xcodeproj, .nib, and .xib files just don't
merge well. Yeah, these files are XML, but still, I don't trust the
automatic merge 100%. Plus, if you get a conflict, you're pretty much
hosed and need to just pick one.
In the risk of this devolving to a VCS flame war, I'm adding a few
comments below. ;)
On May 8, 2008, at 5:32 AM, David Symonds wrote:
> My 2 cents from a Git user (and occasional contributor) why you should
> use Git over Bazaar:
>
> - Bazaar still uses that daft notion of branches-as-directories that
> makes SVN and Perforce painful.
Mercurial uses this, too, and I really don't find it "painful". It
works perfectly fine. Bazaar and Mercurial both handle merges so much
better than Subversion, you can't really compare them.
> - Git is under more active development (from what I can tell).
Bazaar has gone from pre-1.0 to 1.4 in, what, less than six months?
Seems quite active, to me.
> - Bazaar is implemented in Python, so it's a bit slower and less
> portable.
That's just FUD. ;) Python actually makes Bazaar and Mercurial *more*
portable than Git's dependence on C + Perl + shell scripts + pipes.
Mercurial's story on Windows (not that it matters at all for Sparkle)
is much better, for example (see TortoiseHg). I've found Mercurial to
be just as fast as Git, for anything I've used it on.
> - Bazaar doesn't do rebasing, so development against old versions need
> to be merged or hand-updated.
> - Git's "unfriendly" SHA-1 identifiers aren't unfriendly in practice,
> since you can abbreviate them or use relative commit addressing as
> well. Lightweight tagging also makes it ridiculously easy to do
>>
> complex manipulations with whatever terms you want to use.
I'm not a fan of the SHA-1 IDs, either. Mercurial uses SHA-1, as
well, but also allows you to use svn-style increasing integers on your
local repo, which is very handy.
Bazaar's IDs are possibly less confusing than SHA-1:
<http://doc.bazaar-vcs.org/bzr.dev/en/user-guide/index.html#understanding-revision-numbers
>
Having never used this new scheme, I don't know how well that works in
practice.
> - Bazaar is relatively lesser known. Any given random developer is
> much more likely to know Git.
Agreed, but it's not as if Bazaar is a complete unknown. If you're
going to pick based on what's popular to Joe Random Developer,
Subversion beats any DVCS, hands down. If Andy likes Bazaar, I say he
should go for it. It's popular enough, IMO, and I'm all for learning
more about it. Though, if it were my choice, I'd go Mercurial. ;)
-Dave
More information about the Sparkle
mailing list