[Python-Dev] Switch to 2.4a0 on trunk?

Kurt B. Kaiser kbk@shore.net
Thu, 31 Jul 2003 11:54:09 -0400


Barry Warsaw <barry@python.org> writes:

> Well, here's the problem.  The branch was already created with
> release23-branch, and there doesn't appear to be a way to rename a
> branch tag.  Fred's going to dig into the docs to see if he can find a
> clue, but if anybody else has direct experience with renaming branch
> tags, please speak up!

Although renaming ordinary tags is straightforward, (update to
the old tag, tag with the new name, update to the new name, delete the
old tag), this is not the case with branch tags.  Here's a procedure
for renaming a branch tags:

www.loria.fr/~molli/fom-serve/cache/83.html

Recent cvs info nodes for Revisions/Modifying tags state:

"Warning: Moving branch tags is very dangerous!  If you think you need
the -B option, think again....There is almost certainly another way to
accomplish what you want to accomplish_"

And that's for _moving_ tags.  As far as I know, there is no easy way to
duplicate a branch except by explicitly merging it, and that's not really
a duplicate.

The faqomatic entry talks about running admin on each file; that doesn't
seem to be a reasonable option with Python.


> I've updated the pep so this won't happen again three years from now
>when Orlijn releases Python 2.4 <wink>.
>
> The other option is to just stick with release23-branch as the
> maintenance branch tag.

-1 :-)

I thought of two ways.  First, make a release23-maint branch tag off 
release23-fork and merge release23-fork to it.  The problem with this
is it's a lot of work and loses/obscures the history on the original branch.  

Or, do it like 2.2 was apparently forced to do (*):

Switch to release23-branch, tag [the head of release23-branch] as
release23-maint-fork, and add a branch tag release23-maint.

That's a lot easier, of course.  And safe.

-- 
KBK

(*) Looking at patchlevel.h, for instance:
release22-fork               magic number branch 2.60.0.2
release22                    this was the first tag on that branch: 2.60.2.1
release22-maint              magic number branch 2.60.2.1.0.2
r221c1                       third tag on _that_ branch: 2.60.2.1.2.3