LWN.net Logo

Bazaar on the slow track

Bazaar on the slow track

Posted Sep 11, 2012 21:42 UTC (Tue) by juliank (subscriber, #45896)
In reply to: Bazaar on the slow track by Cyberax
Parent article: Bazaar on the slow track

It supports automatically pushing stuff on commit, but that's not really required or needed. You can just use bzr branch instead of bzr checkout to create a branch that is disconnected from the parent one.

Bazaar just adopted common terminology: checkout works the same way as in svn, branch (aka get/clone, but those are deprecated) works like clone in git.


(Log in to post comments)

Bazaar on the slow track

Posted Sep 11, 2012 22:03 UTC (Tue) by Cyberax (✭ supporter ✭, #52523) [Link]

No, I'm talking about the way it does versioning. There is no clear way to unambiguously refer to a commit, because version numbers are repository-dependent and are clearly designed with the idea of the 'central' repository.

For example: http://bazaar.launchpad.net/~bzr-pqm/bzr/bzr.dev/view/hea...
You see that this file has revision 6558. This version is repository-local as there's no way to create a distributed numbering algorithm without synchronization points (mathematically, bzr revisions are a completely ordered set). This fact underlines all the bzr design - it's ridiculously hard to work in a truly distributed manner with bzr. There's even that scary threat of renumbering, where numbers in the trunk _change_.

In comparison, hg and git are truly distributed - they're using hashes to identify commits: http://selenic.com/repo/hg/rev/8fea378242e3 This design makes sure that there's no single global ordering of commits, but there is always a clearly-defined local ordering (i.e. git/hg commits form a partially ordered set).

Bazaar on the slow track

Posted Sep 11, 2012 22:23 UTC (Tue) by james_w (subscriber, #51167) [Link]

Click "View revision" and you will find the unique id of that revision: pqm@pqm.ubuntu.com-20120905205226-8s3bzolvduug3ifj. That id will never change. The revision numbers are just for convenience when you know the context you are talking about. If you don't know the context then use the ids.

Bazaar on the slow track

Posted Sep 11, 2012 22:32 UTC (Tue) by Cyberax (✭ supporter ✭, #52523) [Link]

Yet almost all bzr tools insist on working and showing revision numbers, rather than the unwieldy global IDs. There are lots more of smaller annoyances in bzr that are simply not present in git/hg.

For instance, try to google your ID - it's not present in any publically-crawled repository viewers.

Bazaar on the slow track

Posted Sep 11, 2012 23:10 UTC (Tue) by marcH (subscriber, #57642) [Link]

I've used CVS and SVN extensively. I've used git extensively. And also a few others from time to time. In theory this should give me plenty enough background to easily understand Bazaar's data model(s), shouldn't it? Yet not. The few times I tried to run a few basic Bazaar commands I got completely confused by this very strange mix of centralized AND distributed models. Or by other things? I guess I'll never know.

I much prefer a simple, clear and sound data model over a familiar and supposedly "user-friendly" interface.

On the other hand I've met a significant number of people who want to know as little as possible about version control *in general* (I know this is wrong but what can you do?). They just want to run the same and very small subset of commands again and again to publish their work without absolutely any interest for what happens behind the scenes nor for any other actual version control feature. git's complex and inconsistency command line makes their life extremely difficult. They would probably much prefer Bazaar. As noted in the article, this type of lusers would also be extremely unlikely to contribute to any VC tool in any way.

Great quote: "A common response I get to complaints about Git’s command line complexity is that “you don’t need to use all those commands, you can use it like Subversion if that’s what you really want”. Rubbish. That’s like telling an old granny that the freeway isn’t scary, she can drive at 20kph in the left lane if she wants."
http://steveko.wordpress.com/2012/02/24/10-things-i-hate-...

Sometimes I wish I weren't that comfortable with git because that makes me too lazy now to try and learn Mercurial...

Bazaar on the slow track

Posted Sep 12, 2012 2:33 UTC (Wed) by mathstuf (subscriber, #69389) [Link]

> Sometimes I wish I weren't that comfortable with git because that makes me too lazy now to try and learn Mercurial...

I tried using it for a few hours and my git experience made me lose some changes[1]. I'd call it data loss, but the devs consider it just a bug. Sure, they're both a DVCS, but I think starting from step one is probably easier when learning a new one than trying to make analogies based on my experience with darcs (XMonad repos and some other Haskell stuff), hg (tried to make a patch for mutt and udiskie), and one attempt to do something with bzr (don't even remember what it was, but zsh's vcs_info plugin for it is/was molasses (as in 5s for a prompt to appear with just the branch name and "dirty" status)). Every time, I get the feeling "I'd rather use git", but that's probably just familiarity talking.

[1]http://bz.selenic.com/show_bug.cgi?id=3423

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds