[Idle-dev] idle-fork, cvs advice anyone?
StephenM.Gava
StephenM.Gava
Tue, 26 Jun 2001 16:53:19 +1000
On Tue, 26 Jun 2001 01:55pm, Kurt B. Kaiser wrote:
> 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.
Ahh, damn. I noticed the VPython branch when I first looked at idlefork, but
then I subsequently forgot about it when I was trying to import an "official
python idle" vendor a couple of days later. I guess, if the vendor branch is
the right way to go for what I was hoping to achieve, I should have imported
a vendor branch with an explicitly different branch number.
> 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.
Yep. These were attempts 1, 2, and 3 by me to import python-idle as a vendor
without remembering that the Vpython vendor branch was already there.
> As far as the overall structure goes, it seems we're trying to merge two
> variants of IDLE.
Yes. merging python-idle into the changes that have so far been made on the
idlefork trunk. This will need to be done from time to time. (although, I
had intended to merge python-idle into a new branch of ithe idlefork trunk
made just for this purpose, and then to merge that branch back to the trunk)
> Are you assuming that the VPython version is the starting
> point and the trunk of the development?
No I was assuming idlefork/idle was the trunk and that Vpython was added as a
vendor branch (quite some time ago) so that desired Vpython changes could be
mereged into idlefork/idle, and that this had already been done, so that
idlefork/idle is where the action is and where the python-idle changes need
to end up. Then I stupidly forgot about the Vpython vendor branch when
attempting step 4. on my list above.
> 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.
Yep. Are there really so few changes?
Huh, I'm just familiarising myself with the sources as a whole and I thought
with the changes already made to idlefork (David Scherer told me that he
already has a different variation of "separate process for execution" [which
I was thinking may have originated in Vpython] in there and some other
changes ), plus the changes in python-idlle since idlefork was forked off (it
was forked at python-idle 0.5 I think, and python-idle in python 2.1 is 0.8,
and Guido tells me he has made fresh changes since then), that there would be
a significant amount of meging and conflict resolution to be done...
That was one of my reasons for wanting to import python-idle as a vendor
branch rather than just using diff and patch and whatnot and doing it by hand
locally and then just merging back to idlefork (or to a new branch at least
at first).
> I'm thinking about what might be the simplest structure (and how to get
> there). Vendor branches are tricky!
Hmm, so it seems for me at least... 8^{ My other reason for putting
python-idle in as a vendor branch (unsucessfully, it seems), was because all
the cvs admin stuff I read seemed to indicate that this was the way to handle
external sources that will need to be repeatedly merged?
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
for future easy repeatability of the python-idle to idlefork merge. Maybe
idlefork cvs does need to be put put in a new structure right from the start
of this brave new era of idlefork? The idea hadn't occurred to me. What I've
done so far with the failed vendor branches should be recoverable, I also
tagged before I started, but if the last tarballs of idlefork are up to date
we could even start a new repository from scratch if it was absolutely
nesscesary I guess.
>
> Regards, KBK
Anyway Kurt, thanks a lot for the help!
Regards,
Stephen.
--
Stephen M. Gava
<elguavas@users.sourceforge.net>
"More power to those who don't care for it." - anon