[LLVMdev] Version Control Upgrade?
Alkis Evlogimenos
alkis at cs.uiuc.edu
Sun Jan 9 00:33:33 PST 2005
On Friday 07 January 2005 18:35, 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.
>
> 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 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.
I believe subversion does not support "Remote Repository Replication" but svk
does (a modified version of subversion).
After reading the docs for these VCS I don't think there is a clear choice
today. Subversion lacks distributed development. Arch supports distributed
development but forces you to have srcdir != objdir (not necessarily bad, but
i want the choice) and it also has akward commands. Monotone seems very clear
on how it works but lacks a web interface and is unclear how mature it is.
If we don't care about the web interface I suggest we give monotone a try.
--
Alkis
More information about the llvm-dev
mailing list