Program: cvs
Version: 1.10
Host: all
Area: cvs
Synopsis: file added to main trunc with merge remains in `Attic'
Description:
Suppose wou have a work tree which represents the main trunc.
Then you merge a branch into this work tree, which adds a file. Then
the file is locally added. Then, before doing a commit, merge another
delta to this file. This changes the status of this file to locally
modified. Then check in this file. This creates a new main-trunc
revision (1.2), but the RCS ,v file remains in the Attic subdirectory
in the repository. Therefore it is not seen by check outs of the main
trunc.
Reproduce with:
1. Create a module "test".
2. Add a branch to this module, checkout this branch and add a file to
it:
% cvs rtag -b BRANCH test
% cvs co -r BRANCH -d test_branch test
% cd test_branch
% touch newfile
% cvs add newfile
% cvs ci newfile
RCS file: /home/luik/CVSmaster/test/Attic/newfile,v
done
Checking in newfile;
/home/luik/CVSmaster/test/Attic/newfile,v <-- newfile
new revision: 1.1.2.1; previous revision: 1.1
done
% cd ..
3. Checkout the head of the main-trunc and merge the modifications
from the BRANCH:
% cvs co test
% cd test
% cvs update -j BRANCH
Note, that `newfile' is now locally added:
% cvs status newfile
===================================================================
File: newfile Status: Locally Added
Working revision: New file!
Repository revision: 1.1 /home/luik/CVSmaster/test/Attic/newfile,v
Sticky Tag: (none)
Sticky Date: (none)
Sticky Options: (none)
% cd ..
4. Now, add another modification to the BRANCH:
% cd test_branch
% echo "foobar" >> newfile
% cvs ci newfile
Checking in newfile;
/home/luik/CVSmaster/test/Attic/newfile,v <-- newfile
new revision: 1.1.2.2; previous revision: 1.1.2.1
done
% cd ..
5. Now merge these new modifications to the main-trunc work dir:
% cd test
% cvs update -j 1.1.2.1 -j 1.1.2.2 newfile
Note, that `newfile' is not locally modified:
% cvs status newfile
===================================================================
File: newfile Status: Locally Modified
Working revision: 1.1 Result of merge
Repository revision: 1.1 /home/luik/CVSmaster/test/Attic/newfile,v
Sticky Tag: (none)
Sticky Date: (none)
Sticky Options: (none)
6. If `newfile' is now commited to the main-trunc, it gets the correct
revision number, but the repository file remains in the `Attic' dir.
% cvs ci newfile
% cvs status newfile
===================================================================
File: newfile Status: Up-to-date
Working revision: 1.2 Fri Jul 7 12:53:42 2000
Repository revision: 1.2 /home/luik/CVSmaster/test/Attic/newfile,v
Sticky Tag: (none)
Sticky Date: (none)
Sticky Options: (none)
7. Another main-trunc head checkout of the module `test' won't include
`newfile'.
--
Andreas Luik E-Mail: [EMAIL PROTECTED]
Orthogon GmbH WWW: http://www.orthogon.de/~luik
Display-Hardware PGP: E2 6A 41 70 67 1E 0B 68 94 0D 9E 83 95 16 AF 59