Sun 11 Apr 2010 02:06:04 PM UTC, comment #1:
Here is more information
I have tested this with client/server 1.11.23 and 1.12.13. Both give identical results.
But as I discovered this behavior related to -kk option and key words expansion. To reproduce you need a text file myfile.txt with
"$Name$ $Id$"
Use regular checkout command no -kk option
cvs co myfile.txt
You will see expanded variables and timestamp will be set to original time from cvs server. Create new branch for this file.
$ cvs -q tag -b TESTBRANCH myfile.txt
Now use
$ cvs -q update -kk -j HEAD -j TESTBRANCH myfile.txt
U myfile.txt
Because of keywords expansion you will see that file got updated.
And you will see that keyword were collapsed.
If you run again simple
$ cvs -q update
U myfile.txt
Again file will be updated and timestamp will be changed.
To avoid such unneeded updates original checkout has to be done with -kk option.
$ cvs co -kk myfile.txt
But I think nobody care about -kk during checkout.
Imaging situation if you have 1000 source files (all have key words). You modified just single file on development branch. Merged development branch to HEAD in precompiled workspace and now you see recompilation of all files just because of keywords expansion bug.
I think -kk option should collapse keywords of original source before patch file.
|