Re: Moving GDB sources to subversion?

Ian Lance Taylor
2005-10-30T04:38:30Z

Bob Rossi <bob@brasko.net> writes:

> Definatly. For instance, look at the Linux kernel. Linus has already
> said
> "PS. Don't bother telling me about subversion." at
> http://lwn.net/Articles/130681/
>
> Also, The Subversion Development Team wrote a letter to tell people to
> stop bothering Linus about subversion.
> http://subversion.tigris.org/subversion-linus.html
>
> I personally don't see a large difference between the Linux kernel
> development and the GCC developement stratagies. With that in mind, it's
> hard for me to understand why GCC *is* a good choice for subversion and
> Linux *is not*.

I don't know how much people want to get into this on the gdb list,
but....

There is a big difference between Linux kernel development practices
and gcc development practices. In Linux kernel development a number
of different people maintain large separate branches on an ongoing
basis, and there are frequent cross-merges between different branches.
Large projects are developed and maintained by independent groups of
developers, and then merged into other main trees over time. There is
no single master repository--obviously the one that Linus controls has
some priority, but I believe that none of the major commercial Linux
distros actually make releases out of it. As far as I know there is
no formal management of copyright issues.

For gcc, on the other hand, there is a single master repository.
Significant gcc support companies such as CodeSourcery and Red Hat
make releases directly from branches in the master repository. In
order to get write access to the master repository, you must sign
formal copyright assignment papers with the FSF. There are no
long-lived independent branches; the goal of all branches is to merge
into the trunk.

The upshot is that Linux requires a distributed source code control
system. In fact, Bitkeeper was developed with an eye on what Linus
required. gcc does not require a distributed source code control
system. gcc might benefit from one; who knows? We seriously
considered monotone, but at present it simply is not fast enough to
manage the gcc repository. The same is true of arch. We looked at
git; it presumably has the features that Linus needs, but it does not
have the features that gcc needs.

Hope this helps.

Ian