[LLVMdev] Version Control Upgrade?

John Criswell criswell at cs.uiuc.edu
Mon Jan 10 07:52:39 PST 2005


Reid Spencer wrote:
> LLVMers,
> 
> The oversight group has been kicking around the idea of getting a better 
> version control system than CVS. The problem is, we're not quite sure 
> what "better" means. So, we thought we'd ask your opinions.

I think before we begin discussing which software to use, we should 
discuss what is really wrong with CVS (on a day to day basis) and how 
important it is to fix it (and I apologize if it has been discussed; I 
just haven't seen it discussed in this thread).

 From all the features listed below, file/directory renames and moves 
are the only missing feature that, to me, warrants changing to another 
program (and maybe access control, but I haven't looked into that much). 
   Everything else looks like something that would be nice to have, but 
isn't critical.

So, what exactly are people finding wrong with CVS on a day to day 
basis, and is it important enough to fix it (fixing it will mean that 
users will need to download a new program to use the repository, which 
is a disincentive to using LLVM)?

-- John T.

> 
> If you're interested in this topic (and you should be if you're actively 
> developing), please have a look at this site: 
> _http://better-scm.berlios.de/comparison/comparison.html_ 
> <http://better-scm.berlios.de/comparison/comparison.html#move> It has 
> quite a nice comparison of key features that we're interested in. Some 
> of the features we think are important are shown in the list below. The 
> text in square brackets is the corresponding item at the comparison site.
> 
>     * [Atomic Commit] - all changed files in a change set get committed
>       or none of them do.
>     * [Repository Permissions] - control read/write access to the
>       repository on a per-user basis, preferably allowing the
>       authentication to be hooked into an apache server (like mod_webdav).
>     * [Files and Directories Moves or Renames] - make sure moves and
>       renames of both files and directories are tracked as well as edits.
>     * [Remote Repository Replication] - ability to clone a repository
>       and "take it with you" so you can commit changes while
>       disconnected from the network. This supports distributed development.
>     * [Change set support]. Groups together related changes in multiple
>       files as a logical "change set". This helps when you need to back
>       out (revert) a change or the change needs to be propagated to
>       another repository because all the related changes are managed as
>       a group.
>     * [Tracking Line-wise File History] - basically support stuff like
>       cvs annotate to see who modified the file and when on a
>       line-by-line basis. 
> 
> 
> Of the tools available, it seems that only subversion, arch, and 
> monotone are suitable for our purposes. But, we'd love to hear your 
> thoughts; especially if you have first-hand experience with these tools.
> 
> Thanks in advance,
> 
> Reid
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list