[RFC] ALFS version control system
Kevin P. Fleming
kpfleming at linuxfromscratch.org
Thu Apr 15 06:09:35 PDT 2004
> With cvs you could use 3 different (local) users and checkout the repository
> in their home-directory. Or check it out once and copy it to the others.
> The benefit of cvs is, that you work without locks, so you can clone your
> local copy as often you like (you have to copy the CVS-subdirs as well).
> You only have to care about "dist[clean]" before testing and you can commit
> the changes from each copy as well.
Yes, I have considered this, but it is cumbersome, especially when the
local user is using ssh to get CVS commit access to the master
repository (like we do for LFS). Then you have a situation where three
different local user IDs have to map to the same remote user ID, which
could be difficult to arrange. Certainly not ideal anyway.
> That sounds very great. I don't know BitKeeper at all, but I think, this would
> only be true, if you did not change the same file in both clones.
> Automated merging is a high sophisticated issue and I'm convinced, that it
> can't work for big changes without an editors-changing-history and so forcing
> you to use an IDE or somewhat similar (like eclipse).
No, it handles three-way merging very well, so changes to the same file
work fine. In fact, even CVS can do this to some extent; the real
difference with BitKeeper is that the _source_ of the changes being
merged into the local tree can be (nearly) any other tree that was
cloned from the master (or even cloned from one of those), not just the
> - Does BitKeeper use additional information outside of the sources?
Yes, it uses SCCS directories to track what happens to the files.
> - Does the merging of changes work, if you both changed the same files and how
> is the result?
Yes, it works quite well. If the changes are non-conflicting (to
different parts of the file) there will be no problem. For conflicting
changes, if you use the text-mode merge tool you will have to manually
clean up the result (just like CVS does). If you use the GUI merge tool,
then you get a slick 3-window merge system that you can review the
changes and copy them to where they need to go. In fact, the GUI merge
tool is one of BitKeeper's greatest achievements, it's very nice.
More information about the alfs-discuss