This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: source mgt. requirements solicitation
"Joseph S. Myers" <jsm28@cam.ac.uk> writes:
> The Linux model of one person controlling everything going into the
> mainline is exceptional; GCC, *BSD, etc., have many committers to
> mainline (the rules for who commits where with what review varying)
> and as Zack explains <http://gcc.gnu.org/ml/gcc/2002-12/msg00492.html>
> (albeit missing the footnote [1] on where releases are made from)
> this mainline on a master server will remain central, with new
> developments normally going there rapidly except for various major
> work on longer-term surrounding branches.
The missing footnote was going to be an argument that the Linux model
is not just exceptional, but pathological. Not something I think we
should emulate with GCC, and not something I consider worth designing
a version control system to support.
Linux is a large project - 4.3 million lines of code - but only one
person has commit privileges on the official tree, for any given
release branch. No matter how good their tools are, this cannot be
expected to scale, and indeed it does not. I have not actually
measured it, but the appearance of the traffic on linux-kernel is that
Linus drops patches on the floor just as often as he did before he
started using Bitkeeper. However, Bitkeeper facilitates other people
maintaining their own semi-official versions of the tree, in which
some of these patches get sucked up. That is bad. It means users
have to choose between N different variants; as time goes by it
becomes increasingly difficult to put them all back together again;
eventually will come a point where critical feature A is available
only in tree A, critical feature B is available only in tree B, and
the implementations conflict, because no one's exerting adequate
centripetal force.
Possibly I am too pessimistic.
zw