bug-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

unexpected (euphemism) behavior for cvs upd -kk -j branch when new files


From: Robert W. Anderson
Subject: unexpected (euphemism) behavior for cvs upd -kk -j branch when new files are on branch
Date: Fri, 09 Aug 2002 16:14:29 -0700

The command:

cvs upd -kk -j branch

exhibits unexpected (wrong) behavior when the branch contains files
which were created on the branch and have never been committed on the
trunk.  Some files will show keyword expansion, and some files will not.

When run as:

cvs -t upd -kk -j branch

one can see that the -kk option stops being used as soon as a new file
is encountered on the branch.

Here's an example:  Advect.C and Advect.h exist on the trunk before the
merge, but CornerMassRemap.C and CornerMassRemap.h do not.  You'll
notice that after the first new files has been processed,
CornerMassRemap.C, the -kk keyword is not used during the
server_register call and then is not used at all from that point
forward.

 -> main loop with CVSROOT=anonuser@anonhostname:/home/user/cvsroot
 -> Starting server: ssh anonhostname -l anonuser cvs server 
 -> unlink_file(CVS/Entries.Static)
 -> unlink_file(CVS/Entries.Static)
S-> unlink(CVS/Entries.Static)
S-> unlink(./CVS/Entries.Static)
S-> rename(CVS/Entries.Backup,CVS/Entries)
S-> unlink(CVS/Entries.Log)
S-> checkout (/home/user/cvsroot/aleamr/_lagrangian_amr/Advect.C,v,
1.20, -kk, Advect.C)
S-> chmod(Advect.C,100644)
S-> server_register(Advect.C, 1.20, Fri Aug  9 21:49:02 2002, -kk, , , )
S-> Register(Advect.C, 1.20, Fri Aug  9 21:49:02 2002, -kk,  )
 -> rename(.new.Advect.C,Advect.C)
 -> Register(Advect.C, 1.20, Fri Aug  9 21:49:02 2002, -kk,  )
U Advect.C
S-> checkout (/home/user/cvsroot/aleamr/_lagrangian_amr/Advect.h,v,
1.17, -kk, Advect.h)
S-> chmod(Advect.h,100644)
S-> server_register(Advect.h, 1.17, Fri Aug  9 21:49:02 2002, -kk, , , )
S-> Register(Advect.h, 1.17, Fri Aug  9 21:49:02 2002, -kk,  )
 -> rename(.new.Advect.h,Advect.h)
 -> Register(Advect.h, 1.17, Fri Aug  9 21:49:02 2002, -kk,  )
U Advect.h

[*snip*]

S-> checkout
(/home/user/cvsroot/aleamr/_lagrangian_amr/_advection/Attic/CornerMassRemap.C,v,
1.1.2.4, -kk, CornerMassRemap.C)
S-> chmod(CornerMassRemap.C,100640)
S-> server_register(CornerMassRemap.C, 0, Fri Aug  9 21:49:06 2002, , ,
, )
S-> Register(CornerMassRemap.C, 0, Fri Aug  9 21:49:06 2002, ,  )
 -> rename(.new.CornerMas,CornerMassRemap.C)
 -> Register(CornerMassRemap.C, 0, dummy timestamp, ,  )
U _advection/CornerMassRemap.C
S-> checkout
(/home/user/cvsroot/aleamr/_lagrangian_amr/_advection/Attic/CornerMassRemap.h,v,
1.1.2.5, , CornerMassRemap.h)
S-> chmod(CornerMassRemap.h,100640)
S-> server_register(CornerMassRemap.h, 0, Fri Aug  9 21:49:06 2002, , ,
, )
S-> Register(CornerMassRemap.h, 0, Fri Aug  9 21:49:06 2002, ,  )
 -> rename(.new.CornerMas,CornerMassRemap.h)
 -> Register(CornerMassRemap.h, 0, dummy timestamp, ,  )
U _advection/CornerMassRemap.h

[*snip*]

This causes the old spurious merge conflict problem to reappear that -kk
was designed to prevent.

Thanks,
-- 
Robert W. Anderson
Center for Applied Scientific Computing
Email: anderson110@llnl.gov
Tel: 925-424-2858  Fax: 925-423-9338




reply via email to

[Prev in Thread] Current Thread [Next in Thread]