|
2013-04-30 08:45 AEST by Arthur Barrett - Quite often users will start coding a feature on trunk (HEAD) and after starting to change the code realize
that they probably want to do this on a branch. This is fairly easy to do with something like:
cvs rtag forkName all
cvs rtag -b branchName -r forkName all
Then from the modified workspace, morph it into the created branch:
cvs up -A -r branchName
The problem is that any file that has been added previously is not morphed over to the branch but
remains "added" to the trunk.
To fix it you can manually fix CVS/Entries, or use this procedure:
cvs up -A -r branch-1 | grep ^A
cvs update: Updating .
A bzzt.txt
mv bzzt.txt bzzt-1.txt
cvs remove bzzt.txt
cvs remove: removed `bzzt.txt'
mv bzzt-1.txt bzzt.txt
cvs add bzzt.txt
cvs add: scheduling file `bzzt.txt' for addition on branch `branch-1'
cvs add: use `cvs commit' to add this file permanently
cvs ci -m "test"
But it's a lot of work for a small payoff.
A much better option would be a new switch on 'cvs update' to reset 'All entries, included added entries'.
|