[cvsnt] branches and merging

Prochazka, Jan Jan.Prochazka at brooks.com
Tue Nov 16 16:38:59 GMT 2004


Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.


Hello to all !
we experience quite annoying CVS behavior and so far did not find any reasonable solution. I hope that somebody of you will know ... 
So; we have quite a large project. Many people works on it and the whole thing needs to be compiled together. From some reasons, we decided to split developing effort into several branches, based on major scope of work. When some milestone is achieved, the branches need to be merged into the HEAD, which is dedicated for releases. Then the other branches should be updated from HEAD. And here the troubles starts:

1) file f1 was added into branch br1
2) f1 was merged into HEAD

-- no changes in f1 from this point at all ----

3) branch br2 was updated to HEAD (I mean merged from HEAD to br2)
4) CVSNT creates branch br2 for f1 and the following commit,
   even with no changes made to f1, adds new revision of f1 into br2
   (Why ?)
5) after while br2 needs to be merged to HEAD
6) merging br2 to HEAD adds also new revision of f1, even if no explicit changes was made in br2 branch, because of the br2 revision of f1 created
7) br1 is updated from HEAD => new revision of f1 is added to br1
9) HEAD is updated from br1 => new revision of f1 is added to HEAD
8) br2 is updated from HEAD => new revision of f1 is added to br2
.
.
.

:-((((

Bullet 4) can be avoided, by creating br2 of f1 explicitly, but even that can not avoid the following grow of parallel branches of not changed files. Any merge in either direction would add (at least for us) another version.

It is probably fine for CVS, as only diff is stored but it is quite (very) confusing for users, when they try to figure out what was changed and why (we  have more then 1000 files)

I have had some feeling that this situation could be solved by "moving branches" but have no idea how, moreover I found some older mail from Tony which states that "moving branch" code would be removed.

Does anybody have any advice how to prevent that ?
 
(of course if we have no branches we would not have this problems ;-)) but for time being we would like to keep them. I'm also thinking about commitinfo script that prevents people commiting files with no changes, but that would go against CVS will and most likely cause bunch of another issues ... )

Best Regards,
Jan



More information about the cvsnt mailing list
Download the latest CVSNT, TortosieCVS, WinCVS etc. for Windows 8 etc.
@CVSNT on Twitter   CVSNT on Facebook