[RFC] ALFS version control system

Kevin P. Fleming kpfleming at linuxfromscratch.org
Thu Apr 15 06:09:35 PDT 2004

Reinhard wrote:

> 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 
master tree.

> - 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 mailing list