On May 16, 3:08, SL Baur wrote:
O.K. Let's reverse the tags. Has anyone in the gallery ever
done
that before?
I have, on a couple of occations. It's a bit hairy.
I'll try to describe a couple of possible ways of doing it.
1. First close off the repository for access. It's a good idea to have
all the developers with write access committing their changes first.
Be prepared to keep the repository off-line for a day, at least!
2. Back up the whole repository. You may have to repeat the whole process..
Now we come to the different possibilities. Unfortunately it isn't just
to rename the existing branches to something else, although it looks like
it should be possible -- there's a function in CVS to associate one name
with another and you get the impression that you can just give a branch
a new name and then delete the old name. Unfortunately this doesn't work
correctly in most versions of CVS (including the newest ones), and it can
mess up things badly. So something else must be done.
The simplest way is to just tag the trunk as well as the branches with
something like TERMINATED_FROZEN_OLD_OBSOLETE_release-whatever, and leave
the old branch tags in place. Then you would have to invent a new naming
scheme for the versions and create new branches. The good thing about this
method is that you don't really modify the repository as such, and the
probability that the changeover will go smoothly for the developers is high.
3. Tag as explained above. Remember to tag the main trunk also.
4. Export the branch you want to be on the main trunk. Let's say it's
release-22-0, and that you tagged it as 'OBSOLETE_22_0'.
cd <some temporary place>
cvs -d <repository> export -rOBSOLETE_22_0 XEmacs/xemacs
5. Check out the main trunk of XEmacs/xemacs somewhere else (or update -A)
6. Copy the exported tree over the checked-out main trunk.
You can't (easily) use "merge" for this, so the export/copy method is
used in order to move the branch unmodified over to the main trunk.
7. Commit the main trunk.
Now you want to move the previous content of the main trunk over to a
branch:
8. Export the main trunk as described in step 4, obviously you need a
tag there which you can refer to (step 3).
9.