/usr/share/doc/html/merge.html is in python-setuptools-doc 3.3-1ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Merge with Distribute — Setuptools documentation</title>
<link rel="stylesheet" href="_static/nature.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: '3.3',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<link rel="top" title="Setuptools documentation" href="index.html" />
<link rel="next" title="Setuptools/Distribute Merge FAQ" href="merge-faq.html" />
<link rel="prev" title="Release Process" href="releases.html" />
</head>
<body>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="merge-faq.html" title="Setuptools/Distribute Merge FAQ"
accesskey="N">next</a></li>
<li class="right" >
<a href="releases.html" title="Release Process"
accesskey="P">previous</a> |</li>
<li><a href="index.html">Setuptools</a> »</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body">
<div class="section" id="merge-with-distribute">
<h1>Merge with Distribute<a class="headerlink" href="#merge-with-distribute" title="Permalink to this headline">¶</a></h1>
<p>In 2013, the fork of Distribute was merged back into Setuptools. This
document describes some of the details of the merge.</p>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="merge-faq.html">Setuptools/Distribute Merge FAQ</a><ul>
<li class="toctree-l2"><a class="reference internal" href="merge-faq.html#how-do-i-upgrade-from-distribute">How do I upgrade from Distribute?</a></li>
<li class="toctree-l2"><a class="reference internal" href="merge-faq.html#how-do-i-upgrade-from-setuptools-0-6">How do I upgrade from Setuptools 0.6?</a></li>
<li class="toctree-l2"><a class="reference internal" href="merge-faq.html#where-does-the-merge-occur">Where does the merge occur?</a></li>
<li class="toctree-l2"><a class="reference internal" href="merge-faq.html#what-happens-to-other-branches">What happens to other branches?</a></li>
<li class="toctree-l2"><a class="reference internal" href="merge-faq.html#what-history-is-lost-changed">What history is lost/changed?</a></li>
<li class="toctree-l2"><a class="reference internal" href="merge-faq.html#what-features-will-be-in-the-merged-code-base">What features will be in the merged code base?</a></li>
<li class="toctree-l2"><a class="reference internal" href="merge-faq.html#who-is-invited-to-contribute-who-is-excluded">Who is invited to contribute? Who is excluded?</a></li>
<li class="toctree-l2"><a class="reference internal" href="merge-faq.html#why-setuptools-and-not-distribute-or-another-name">Why Setuptools and not Distribute or another name?</a></li>
<li class="toctree-l2"><a class="reference internal" href="merge-faq.html#what-is-the-timeframe-of-release">What is the timeframe of release?</a></li>
<li class="toctree-l2"><a class="reference internal" href="merge-faq.html#what-version-number-can-i-expect-for-the-new-release">What version number can I expect for the new release?</a></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="process">
<h2>Process<a class="headerlink" href="#process" title="Permalink to this headline">¶</a></h2>
<p>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).</p>
<p>The rebase to get distribute onto setuptools went something like this:</p>
<div class="highlight-python"><div class="highlight"><pre>hg phase -d -f -r 26b4c29b62db
hg rebase -s 26b4c29b62db -d 7a5cf59c78d7
</pre></div>
</div>
<p>The technique required a late version of mercurial (2.5) to work correctly.</p>
<p>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.</p>
<p>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.</p>
</div>
<div class="section" id="reconciling-differences">
<h2>Reconciling Differences<a class="headerlink" href="#reconciling-differences" title="Permalink to this headline">¶</a></h2>
<p>There were both technical and philosophical differences between Setuptools
and Distribute. To reconcile these differences in a manageable way, the
following technique was undertaken:</p>
<p>Create a ‘Setuptools-Distribute merge’ branch, based on a late release of
Distribute (0.6.35). This was done with a00b441856c4.</p>
<p>In that branch, first remove code that is no longer relevant to
Setuptools (such as the setuptools patching code).</p>
<p>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.</p>
<p>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 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.</p>
<p>Finally, once all the challenging files have been reconciled and merged, the
remaining changes from the setuptools-0.6 branch are merged, deferring to the
reconciled changes (a1fa855a5a62 and 160ccaa46be0).</p>
<p>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.</p>
</div>
<div class="section" id="concessions">
<h2>Concessions<a class="headerlink" href="#concessions" title="Permalink to this headline">¶</a></h2>
<p>With the merge of Setuptools and Distribute, the following concessions were
made:</p>
<p>Differences from setuptools 0.6c12:</p>
<div class="section" id="major-changes">
<h3>Major Changes<a class="headerlink" href="#major-changes" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li>Python 3 support.</li>
<li>Improved support for GAE.</li>
<li>Support <a class="reference external" href="http://www.python.org/dev/peps/pep-0370/">PEP-370</a> per-user site
packages.</li>
<li>Sort order of Distributions in pkg_resources now prefers PyPI to external
links (Distribute issue 163).</li>
<li>Python 2.4 or greater is required (drop support for Python 2.3).</li>
</ul>
</div>
<div class="section" id="minor-changes">
<h3>Minor Changes<a class="headerlink" href="#minor-changes" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li>Wording of some output has changed to replace contractions with their
canonical form (i.e. prefer “could not” to “couldn’t”).</li>
<li>Manifest files are only written for 32-bit .exe launchers.</li>
</ul>
<p>Differences from Distribute 0.6.36:</p>
</div>
<div class="section" id="id1">
<h3>Major Changes<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li>The _distribute property of the setuptools module has been removed.</li>
<li>Distributions are once again installed as zipped eggs by default, per the
rationale given in <a class="reference external" href="http://bugs.python.org/setuptools/issue33">the seminal bug report</a> indicates that the feature
should remain and no substantial justification was given in the <a class="reference external" href="https://bitbucket.org/tarek/distribute/issue/19/">Distribute
report</a>.</li>
</ul>
</div>
<div class="section" id="id2">
<h3>Minor Changes<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li>The patch for <a class="reference external" href="https://bitbucket.org/tarek/distribute/issue/174">#174</a>
has been rolled-back, as the comment on the ticket indicates that the patch
addressed a symptom and not the fundamental issue.</li>
<li><tt class="docutils literal"><span class="pre">easy_install</span></tt> (the command) once again honors setup.cfg if found in the
current directory. The “mis-behavior” characterized in <a class="reference external" href="https://bitbucket.org/tarek/distribute/issue/99">#99</a> is actually intended
behavior, and no substantial rationale was given for the deviation.</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar">
<div class="sphinxsidebarwrapper">
<h3><a href="index.html">Table Of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">Merge with Distribute</a><ul>
<li><a class="reference internal" href="#process">Process</a></li>
<li><a class="reference internal" href="#reconciling-differences">Reconciling Differences</a></li>
<li><a class="reference internal" href="#concessions">Concessions</a><ul>
<li><a class="reference internal" href="#major-changes">Major Changes</a></li>
<li><a class="reference internal" href="#minor-changes">Minor Changes</a></li>
<li><a class="reference internal" href="#id1">Major Changes</a></li>
<li><a class="reference internal" href="#id2">Minor Changes</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<h4>Previous topic</h4>
<p class="topless"><a href="releases.html"
title="previous chapter">Release Process</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="merge-faq.html"
title="next chapter">Setuptools/Distribute Merge FAQ</a></p>
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="_sources/merge.txt"
rel="nofollow">Show Source</a></li>
</ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
<input type="text" name="q" />
<input type="submit" value="Go" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
<p class="searchtip" style="font-size: 90%">
Enter search terms or a module, class or function name.
</p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="merge-faq.html" title="Setuptools/Distribute Merge FAQ"
>next</a></li>
<li class="right" >
<a href="releases.html" title="Release Process"
>previous</a> |</li>
<li><a href="index.html">Setuptools</a> »</li>
</ul>
</div>
<div class="footer">
© Copyright 2009-2013, The fellowship of the packaging.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
</div>
</body>
</html>
|