[LLVMdev] Open Source Contributions (was Re: Benchmarks)

Chris Lattner sabre at nondot.org
Sun May 2 11:49:01 PDT 2004

On Sun, 2 May 2004, Reid Spencer wrote:
> I don't see moving the repository to another system and forking the code
> base as equivalent. I agree that its definitely not time to fork the
> code base. But we can change the source code control repository without
> forking.

Sure, I didn't mean to say they were equivalent, it's just that they would
both solve this problem.

> > Take 'arch' for example: its approach seems like it would solve almost all
> > of the version control issues that we are facing, and supports
> > decentralized development in particular.  From what I understand, you
> > would be able to do all of your development on your own "local" branch,
> > others could have access to it, and when it's ready, we could pull it in
> > as one big patch or set of changes.
> I've looked at subversion recently. Setting it up wasn't a big deal but
> its much more complicated than CVS (e.g. you have to get a specific
> version of Berkley DB). Also, there are enough problems with it that I
> deem it unstable. The last thing we need is a buggy SCC system. I think
> Subversion is a good choice (functionality wise), it just isn't quite
> ready yet. Perhaps by release 1.2 or so the main issues will have
> settled down. I haven't looked at arch but I will.

Okay, I agree that dealing with a buggy SCC system is a bad idea. :)  Does
subversion support distributed development?

> > >From your perspective, would this solve the problem?  I used arch just as
> > an example, I'm sure there are others (bitkeeper at least supports these
> > features, but has unattractive licensing issues).
> The main problem isn't the SCC tool that we use. They all have their
> good and bad points. The main problem is not being able to check things
> in to a branch. As long as the SCC tool supports distributed and
> parallel development (i.e. is WAN network based and supports branches),
> it will be fine. So, I'm rejecting SCCS and RCS but not CVS.

Okay, but one of the nice things about the distributed systems is that
branches don't need to be on the "central" machine.  You can do all of
your development on a local branch (which you can optionally share with
others) and then when it's time, the entire branch can be trivially merged
back to mainline, preserving the revision history.

Vikram makes a good point, though: we don't want to unnecessarily raise
the bar of LLVM development to include having to get a non-standard SCC
system...  hrm.



More information about the llvm-dev mailing list