This file is indexed.

/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 &mdash; 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> &raquo;</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 &#8216;distribute&#8217; branch and the &#8216;setuptools-0.6&#8217;
branch was targeted for the merge. The &#8216;setuptools&#8217; 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 &#8216;Setuptools-Distribute merge&#8217; 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
&#8216;setuptools-0.6&#8217; 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 &#8220;distribute&#8221; and &#8220;setuptools&#8221; 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 &#8220;could not&#8221; to &#8220;couldn&#8217;t&#8221;).</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 &#8220;mis-behavior&#8221; 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> &raquo;</li> 
      </ul>
    </div>
    <div class="footer">
        &copy; Copyright 2009-2013, The fellowship of the packaging.
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
    </div>
  </body>
</html>