[LLVMdev] git

Óscar Fuentes ofv at wanadoo.es
Fri Jul 22 15:04:04 PDT 2011

Chris Lattner <clattner at apple.com> writes:

> I completely agree.  The "branch" I most care about is mainline, and
> losing the ability to say "fixed in r1234" (with some sort of
> monotonically increasing number) would be a tragic loss.

The monotonically increasing number is useful for giving you a fuzzy
idea about how that change relates to other changes wrt the order it was
applied and, similarly, the approximate timeline.

The usefulness of having this information on an immediate form is
amplified by *not* appreciating the advantages of a distributed version
control system (DVCS). Once the community starts using DVCS, answering
the question "is revision X in branch Y?" will be far more important,
and that is something that a monotonically increasing revision number do
not solve.

I understand your views and doubts, because I had the same ones at some
point on the past. After using some propietary systems, then CVS, then
svn, then Bazaar (which is a DVCS wich supports revision numbers, a
feature that weighted on its favor for choosing it after using svn for
several years) and finally git, the advantages of a DVCS over a svn-like
system are so compelling that the convenience of revision numbers is
insignificant in comparison.

On the other hand, I guess that you being so mainline-centered (and the
root explanation of some LLVM developer policies) is, in part, a
consequence of how hard branching and merging is with CVS and svn. After
git, mainline will still be the most important branch for the *project*,
but you will work with quite a few branches on parallel.

More information about the llvm-dev mailing list