[Idle-dev] idle-fork, cvs advice anyone?

Kurt B. Kaiser kbk@shore.net
26 Jun 2001 10:44:48 -0400


Stephen M. Gava <elguavas@users.sourceforge.net> writes:
 
> By all means if you can think of the simplest structure and how to get there 
> to acheive this aim please do so, it would be a great help I think especially 
Stephen,

After sleeping on it, here's my thinking:  

I make the assumption we are starting with the VPython version of IDLE, merging
recent changes from Python IDLE, and continuing development through changes at
IDLE-fork plus occasional patches from Python IDLE.

CVS appears to "use up" the default 1.1.1 vendor branch during any initial
import; the canonical vendortag is the username and the releasetag is
"start". In the case of VPython IDLE, it appears the vendortag was "avendor"
and the releasetag was "arelease".

If VPython IDLE was still being developed then we would want to merge its
updates also, but it doesn't seem that that is a consideration. (If it were,
the new release could be imported again on the "avendor" branch.)

For simplicity, assume that the changes you made are backed out. Then one
approach is to have the IDLE-fork trunk and two vendor branches, VPython IDLE
and Python IDLE. Development would proceed along the trunk, with occasional
merges from the vendor branches. No other branches seem necessary at this time.

In the case of the VPython branch, there is probably going to be only the one
merge of what we have, but I suspect it will have to be done explicitly to get
the file HEADs off the branch and onto the trunk so they can be merged with the
other (Python) vendor branch: update -A and then update -j arelease.

As far as the Python IDLE branch goes, what we are interested in is the changes
since VPython IDLE forked. It looks like the idle05 tag in the Python CVS was
established June 11, 1999. Maybe Dave Scherer remembers the DATE he downloaded,
it might be later than that.  What I would suggest is to export a version of
Python IDLE as of midnight GMT of DATE - 1. Import this into branch 1.1.3 with
python-cvs vendortag and a releasetag something like python-cvs-fork.

Next, export the current version of Python IDLE and import it into the same
1.1.3 python-cvs vendor branch with releasetag something like
update-20010626. The diffs can be checked out into a local directory via
checkout -j python-cvs-fork -j update-20010626 and reviewed individually. Some
of them may conflict conceptually with IDLE-fork.

The merge of acceptable diffs can be accomplished by update -A and
     update -j python-cvs-fork -j update-20010626 filename

I assume the gurus on the list will double check all this and identify any
misconceptions or improvements!

Regards, KBK