Whole tree up to date before committing
John Arbash Meinel
john at arbash-meinel.com
Thu Oct 22 16:50:08 BST 2009
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Óscar Fuentes wrote:
> From Ian's document:
>
> In fact, Bazaar is stricter about centralized development than
> Subversion. Subversion will only check that changed files are up to date
> locally while Bazaar will ensure your whole tree is up to date before
> committing to a bound branch. Why? It’s all part of our philosophy that
> the trunk ought to be ready to ship all the time. Used intelligently
> with automated testing, Bazaar can help keep the quality of your trunk
> as high as possible.
> <<<<<<<<<<<<<<<<<<
>
> I don't see this as an advantage, quite the contrary. On mildly active
> projects one could find himself doing a merge after another, without a
> chance for committing. Think about projects with about 300 commits every
> day during working hours coming from 50 developers, with most commits
> concentrated on the last hours of the journey. Bazaar's model would be a
> serious annoyance there. Moreover, not being allowed to commit a change
> because someone modified a totally unrelated part of the project is one
> reason for labeling the tool as "stupid".
This is why you work in branches, but it was also one of the *primary*
reasons that a company recently switched to Bazaar instead of
Subversion. In subversion, if 2 people are working on the same branch
user 1 make test # clean; svn commit -m 'everything looks good'
user 2 make test # clean; svn commit -m 'good stuff'
user 3 svn co ; make test # fail
It is standard design in all of the DVCSs. It is *very* nice to be able
to recreate a users' workspace when they did commit. As opposed to
something that might approximate it.
>
> I'm not saying that Bazaar's policy, if applicable, isn't better than
> subversion's. My point is that on some common scenarios creates more
> trouble than it solves.
It solves a lot of real-world issues. tagging is the only reliable way
in SVN to get an actual snapshot. And even then tags can be committed to...
>
> Besides, I think that claiming that Bazaar enforces some philosophy
> contradicts previous claims about its flexibility. Its good that
> Bazaar's developers try to keep the project on shippable state all the
> time, but other teams may have their own ideas about that. Certainly,
> most projects begin their lives on a non-shippable state :-) Your claim
> about bzr enforcing good policies looks to me like the old trick of
> "it's not a bug, it's a feature".
>
We will never prevent you from committing in your own branch. However,
we *will* preserve the true atomicity of your change. In that we won't
silently include other peoples changes just because they happen to not
textually conflict with the ones you made.
John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAkrgfzAACgkQJdeBCYSNAAPBuACgmW9C32fVjEkEas7f2gV8lEsL
9ZgAn3qKfvEU13PXSSlS8rsPm4NrQRKB
=Ao10
-----END PGP SIGNATURE-----
More information about the bazaar
mailing list