Page BzrVsGit: Suggestions

Ian Clatworthy ian.clatworthy at internode.on.net
Fri Jan 4 13:23:17 GMT 2008


Nicholas Allen wrote:
> Jari Aalto wrote:
>> I'd like to propose a small change to page:
> 
>> http://bazaar-vcs.org/BzrVsGit
> 
>> LESS ATTITUDE - DIRECT SUPPORT FOR MORE WORKFLOWS
> 
>> ...Bazaar cleanly and directly supports a larger range of workflows
>>  than Git does thanks to features such as bound branches.
> 
>> I'd like to explain this a little more accurate, so that Git people
>> do not make false interpretations:
> 
>> =>
> 
>> ...Bazaar's UI directly supports a larger range of workflows than
>> Git. Take an example of centralized SVN style workflow whcih is
>> well integrated in Bazaar's command set. In Bazaar, it is possible
>> to commit directly to the central server whereas in Git it would
>> need two actions: a local commit followed by a push to "central"
>> server. Usually different workflows in Git are more demanding and
>> less intuitive than in Bazaar.

Jari,

Sounds good. Could you update the page please with this text?

> That sounds good and is much clearer than the original. However, I
> think it still misses one of the important advantages of bound
> branches: lock step development. A commit and a push would not be the
> same as a commit in a bound branch and the bound branch will ensure
> that the commits to the central branch remain in the same order. So if
> someone commits to the central branch first then their commit will
> always be before mine on the main ancestry line. I'm not sure if this
> is possible in git as I am not that familiar with it.

Nicholas,

I'm no Git expert either but I'm pretty sure you're right. Git gurus can
probably hack together some magic pre-commit hook to get close to what
we do, but that's not the same as 'Just Works'. "local commit + push"
just isn't the same as "only commit if the commit succeeds on the remote
branch first".

It's very hard to explain this clearly but Bazaar is all about
streamlining processes - the metadata we store and the file formats
needed are secondary issues. Other tools, Git in particular, seem to me
to emphasise their data model over their process model. Of course, some
developers really like that because they learn how tools/apps work by
starting at the data layer. Personally, I think that's less useful than
starting from the processes you want and heading down from there. Data
ought to be a slave, not the master.

As an analogy, I *can* manage my photos and music using a generic file
manager but dedicated apps (F-Spot, Photshop Elements, Amorok, iTunes,
etc.) - focussing on process models over data models - make for a far
more enjoyable user experience and higher end user productivity. Bazaar
is on the right path - we just need to get the word out about it and get
there sooner.

Ian C.



More information about the bazaar mailing list