summaryrefslogtreecommitdiffstats
path: root/gitdiffcore.html
diff options
context:
space:
mode:
authorJunio C Hamano <junio@hera.kernel.org>2008-09-20 16:55:38 +0000
committerJunio C Hamano <junio@hera.kernel.org>2008-09-20 16:55:38 +0000
commit7cc912979feaec3ed65d4491e129ed48507f6994 (patch)
treed051941bd72dc5bac4bb05aaa140601245eec77d /gitdiffcore.html
parent4604fe5609a48fc240d1a88a15c642c9883363c7 (diff)
downloadgit-htmldocs-7cc912979feaec3ed65d4491e129ed48507f6994.tar.gz
Autogenerated HTML docs for v1.6.0.2-296-gfe33b
Diffstat (limited to 'gitdiffcore.html')
-rw-r--r--gitdiffcore.html54
1 files changed, 20 insertions, 34 deletions
diff --git a/gitdiffcore.html b/gitdiffcore.html
index 54d28f3df..15f38dfd1 100644
--- a/gitdiffcore.html
+++ b/gitdiffcore.html
@@ -356,11 +356,22 @@ files:</p></div>
</p>
</li>
</ul></div>
-<div class="para"><p>In all of these cases, the commands themselves compare
-corresponding paths in the two sets of files. The result of
-comparison is passed from these commands to what is internally
-called "diffcore", in a format similar to what is output when
-the -p option is not used. E.g.</p></div>
+<div class="para"><p>In all of these cases, the commands themselves first optionally limit
+the two sets of files by any pathspecs given on their command-lines,
+and compare corresponding paths in the two resulting sets of files.</p></div>
+<div class="para"><p>The pathspecs are used to limit the world diff operates in. They remove
+the filepairs outside the specified sets of pathnames. E.g. If the
+input set of filepairs included:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>:100644 100644 bcd1234... 0123456... M junkfile</tt></pre>
+</div></div>
+<div class="para"><p>but the command invocation was <tt>git diff-files myfile</tt>, then the
+junkfile entry would be removed from the list because only "myfile"
+is under consideration.</p></div>
+<div class="para"><p>The result of comparison is passed from these commands to what is
+internally called "diffcore", in a format similar to what is output
+when the -p option is not used. E.g.</p></div>
<div class="listingblock">
<div class="content">
<pre><tt>in-place edit :100644 100644 bcd1234... 0123456... M file0
@@ -371,15 +382,10 @@ unmerged :000000 000000 0000000... 0000000... U file6</tt></pre>
<div class="para"><p>The diffcore mechanism is fed a list of such comparison results
(each of which is called "filepair", although at this point each
of them talks about a single file), and transforms such a list
-into another list. There are currently 6 such transformations:</p></div>
+into another list. There are currently 5 such transformations:</p></div>
<div class="ilist"><ul>
<li>
<p>
-diffcore-pathspec
-</p>
-</li>
-<li>
-<p>
diffcore-break
</p>
</li>
@@ -405,33 +411,13 @@ diffcore-order
</li>
</ul></div>
<div class="para"><p>These are applied in sequence. The set of filepairs <em>git-diff-&#42;</em>
-commands find are used as the input to diffcore-pathspec, and
-the output from diffcore-pathspec is used as the input to the
+commands find are used as the input to diffcore-break, and
+the output from diffcore-break is used as the input to the
next transformation. The final result is then passed to the
output routine and generates either diff-raw format (see Output
format sections of the manual for <em>git-diff-&#42;</em> commands) or
diff-patch format.</p></div>
</div>
-<h2 id="_diffcore_pathspec_for_ignoring_files_outside_our_consideration">diffcore-pathspec: For Ignoring Files Outside Our Consideration</h2>
-<div class="sectionbody">
-<div class="para"><p>The first transformation in the chain is diffcore-pathspec, and
-is controlled by giving the pathname parameters to the
-<em>git-diff-&#42;</em> commands on the command line. The pathspec is used
-to limit the world diff operates in. It removes the filepairs
-outside the specified set of pathnames. E.g. If the input set
-of filepairs included:</p></div>
-<div class="listingblock">
-<div class="content">
-<pre><tt>:100644 100644 bcd1234... 0123456... M junkfile</tt></pre>
-</div></div>
-<div class="para"><p>but the command invocation was <tt>git diff-files myfile</tt>, then the
-junkfile entry would be removed from the list because only "myfile"
-is under consideration.</p></div>
-<div class="para"><p>Implementation note. For performance reasons, <em>git-diff-tree</em>
-uses the pathname parameters on the command line to cull set of
-filepairs it feeds the diffcore mechanism itself, and does not
-use diffcore-pathspec, but the end result is the same.</p></div>
-</div>
<h2 id="_diffcore_break_for_splitting_up_complete_rewrites">diffcore-break: For Splitting Up "Complete Rewrites"</h2>
<div class="sectionbody">
<div class="para"><p>The second transformation in the chain is diffcore-break, and is
@@ -616,7 +602,7 @@ t</tt></pre>
</div>
<div id="footer">
<div id="footer-text">
-Last updated 2008-09-19 06:33:24 UTC
+Last updated 2008-09-20 16:55:12 UTC
</div>
</div>
</body>