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

Kurt B. Kaiser kbk@shore.net
25 Jun 2001 23:55:35 -0400


Stephen M. Gava <elguavas@users.sourceforge.net> writes:

> I'm in the process of trying to merge python/idle cvs into a branch of 
> idle-fork cvs, but my previous cvs experience hasn't included merging from 
> external sources and I want to make sure I'm going about this right.
> 
> >From reading as many cvs docs I as I could lay my hands on I've formed the 
> impression that best way to acheive the desired result would be to follow 
> these steps:
> 
> 1. Tag the existing idlefork cvs pre branch point. (done)
> 2. Create idlefork cvs merging branch. (done, as "branch-python_idle_merging")
> 3. Export current python/idle cvs. (done) 
> 4. Import python/idle cvs to idlefork cvs as a vendor branch. (maybe done, 
> after 3 tries,  with vendor tag "PYTHON_CVS_IDLE" and version tag 
> "IMPORT_1_1") 
> 5. Merge python/cvs vendor branch into idlefork merge branch. (not done)
> 6. Merge idlefork merge branch back into idlefork trunk. (not done) 
> 
> For starters. Are the above steps a sensible process to achieve the desired 
> result?  (This merge will need to be done from time to time, so I want to 
> have a good way of doing it right form the start.)

Hi Steven,

I've been looking at this also! As an initial comment, it appears that Scherer
imported the VPython IDLE into a vendor branch (1.1.1, the default) last
summer, and you have imported the Python IDLE into the same vendor branch. This
had the effect of removing Scherer's changes. For example, look at
AutoIndent.py, where Scherer had 1.1.1.1 and the Python IDLE version is
1.1.1.2.

The exception to this is the two cases (spawn.py, protocol.py) where Riley had
updated the VPython IDLE. There the HEAD has moved to MAIN, and your import is
not yet merged. (When a vendor branch is updated locally, HEAD moves off the
branch to MAIN.)

At this point I see "official-idle" at the top level, parallel with [VPython]
IDLE. I also see [Python] idle as a directory within the [VPython] idle
tree. Finally, I see [Python] IDLE as 1.1.1.2 revs in the [Vpython] idle tree.

As far as the overall structure goes, it seems we're trying to merge two
variants of IDLE. Are you assuming that the VPython version is the starting
point and the trunk of the development? As you say, we'll want to update
IDLE-fork from Python IDLE once in a while to add bug fixes, although there are
so few, it could be done manually.

I'm thinking about what might be the simplest structure (and how to get
there). Vendor branches are tricky!

Regards, KBK