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

Reply via email to