Commit 2ef81e9e authored by Jason R. Coombs's avatar Jason R. Coombs

Updated merge notes

--HG--
branch : Setuptools-Distribute merge
extra : source : 9d926f62c15cff2f25a9c8b8e9a2984246a5ba5c
parent e8dbb411
Process
=======
In order to try to accurately reflect the fork and then re-merge of the
projects, the merge process brought both code trees together into one
repository and grafted the Distribute fork onto the Setuptools development
line (as if it had been created as a branch in the first place).
The rebase to get distribute onto setuptools went something like this::
hg phase -d -f -r 26b4c29b62db
hg rebase -s 26b4c29b62db -d 7a5cf59c78d7
The technique required a late version of mercurial (2.5) to work correctly.
The only code that was included was the code that was ancestral to the public
releases of Distribute 0.6. Additionally, because Setuptools was not hosted
on Mercurial at the time of the fork and because the Distribute fork did not
include a complete conversion of the Setuptools history, the Distribute
changesets had to be re-applied to a new, different conversion of the
Setuptools SVN repository. As a result, all of the hashes have changed.
Distribute was grafted in a 'distribute' branch and the 'setuptools-0.6'
branch was targeted for the merge. The 'setuptools' branch remains with
unreleased code and may be incorporated in the future.
Reconciling Differences
=======================
There were both technical and philosophical differences between Setuptools
and Distribute. To reconcile these differences in a manageable way, the
following technique was undertaken:
In the 'distribute' branch, first remove code that is no longer relevant to
setuptools (such as the setuptools patching code).
Next, in the 'distribute' branch, at the point where the fork occurred (such
that the code is still essentially pristine setuptools), copy changes for a
single file or small group of files from a late revision of that file in the
'setuptools-0.6' branch (1aae1efe5733 was used) and commit those changes. This
step creates a new head. That head is then merged. It is in this Mercurial
merge operation that the fundamental differences between Distribute and
Setuptools are reconciled, but since only a single file or small set of files
are used, the scope is limited.
Finally, once all files have been reconciled and merged, the tip of the
'distribute' branch represents the merged code. It is then merged with the
'setuptools-0.6' branch, deferring to the 'distribute' branch::
hg update null
hg merge 1aae1efe5733
hg ci -m "New beginning in a default branch"
hg merge distribute --tool internal:other
hg ci -m "Merge with Distribute"
Concessions
===========
With the merge of Setuptools and Distribute, the following concessions were
made:
......@@ -22,7 +80,7 @@ Minor Changes
Distribute-based script launchers are used and they launch Python as a
subprocess, rather than loading the Python DLL in-process.
Differences from Distribute 0.6.35:
Differences from Distribute 0.6.36:
Major Changes
-------------
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment