[LLVMdev] hybrid source control

Duraid Madina duraid at octopus.com.au
Mon Jan 10 20:42:58 PST 2005


Given that CVS seems to be a genuine problem for some of us, and that 
there's no reason in the world to change for others, I wonder if we 
shouldn't consider adopting a hybrid approach to source control, a la 
FreeBSD.

There:
	- highly active developers bitten by CVS,
	- people working on particular, 'experimental' projects
and	- those who "just want to"

	...use Perforce. For LLVM today, this might map to something like:

	- Reid ;)  (though I'm sure he's not alone..)
	- a bunch of people using LLVM in interesting ways but not 'core' LLVM 
hackers, who nevertheless might like to see their stuff in the tree
	- (for example here:) Windows guys. (It's been literally years since I 
used windows but I remember Perforce as being _much_ more pleasant than 
CVS in that environment.)

...respectively.

*Everyone else*, i.e. those:

	- who are only trying to download the code to have a play, and don't 
even want to think about "which branch do I need??"
	- who are LLVM _users_ in a very strict sense of the word (e.g.  folks 
using it as a GCC-replacement)
	- who for whatever reason are just fine with CVS and don't want to change

	.. continue to use CVS.

The gotcha, of course, is that it will take a little effort to maintain 
CVS but I wonder if some of that effort isn't already being spent in 
determining where to draw the line for LLVM releases. Though now that I 
think about it, browsing through a Perforce repo to cherry pick stuff to 
go into an LLVM release (i.e. to go into CVS) isn't hard at all, and 
while I haven't checked, I'm sure the FreeBSD project already has a 
bunch of scripts to do just that.

	Here I've spoken in terms of Perforce and CVS partly because that's 
exactly what the FreeBSD project is using and partly because that's what 
I'd like to see LLVM use, but you could of course replace Perforce with 
whatever other VCS floats your boat.

	Well, it's an idea.

	Duraid




More information about the llvm-dev mailing list