aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2013-05-12 11:54:22 +0100
committerJason R. Coombs <jaraco@jaraco.com>2013-05-12 11:54:22 +0100
commitc46bdf7f7f29f9cba3ff89450fb8cb49d9ddc109 (patch)
tree55b489064a96252f1d3ba51d3132031726c45293
parent476342be985a7478e13618b578d111f7781b108b (diff)
downloadexternal_python_setuptools-c46bdf7f7f29f9cba3ff89450fb8cb49d9ddc109.tar.gz
external_python_setuptools-c46bdf7f7f29f9cba3ff89450fb8cb49d9ddc109.tar.bz2
external_python_setuptools-c46bdf7f7f29f9cba3ff89450fb8cb49d9ddc109.zip
Update merge notes again to reflect revised technique
--HG-- branch : Setuptools-Distribute merge
-rw-r--r--MERGE.txt35
1 files changed, 21 insertions, 14 deletions
diff --git a/MERGE.txt b/MERGE.txt
index 37e85d85..cf5ecd57 100644
--- a/MERGE.txt
+++ b/MERGE.txt
@@ -31,27 +31,34 @@ 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).
+Create a 'Setuptools-Distribute merge' branch, based on a late release of
+Distribute (0.6.35). This was done with a00b441856c4.
-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
+In that branch, first remove code that is no longer relevant to
+Setuptools (such as the setuptools patching code).
+
+Next, in the the merge branch, create another base from at the point where the
+fork occurred (such that the code is still essentially an older but pristine
+setuptools). This base can be found as 955792b069d0. This creates two heads
+in the merge branch, each with a basis in the fork.
+
+Then, repeatedly 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
+'setuptools-0.6' branch (1aae1efe5733 was used) and commit those changes on
+the setuptools-only head. That head is then merged with the head with
+Distribute changes. 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"
+merge branch represents the merged code.
+
+Originally, jaraco attempted all of this using anonymous heads in the
+Distribute branch, but later realized this technique made for a somewhat
+unclear merge process, so the changes were re-committed as described above
+for clarity. In this way, the "distribute" and "setuptools" branches can
+continue to track the official "distribute" changesets.
Concessions
===========