Autogenerated HTML docs for v1.1.5-g3480
authorJunio C Hamano <junio@hera.kernel.org>
Sat, 28 Jan 2006 10:38:19 +0000 (02:38 -0800)
committerJunio C Hamano <junio@hera.kernel.org>
Sat, 28 Jan 2006 10:38:19 +0000 (02:38 -0800)
diff-format.txt
git-diff-files.html
git-diff-files.txt
git-diff-index.html
git-diff-stages.html
git-diff-tree.html
git-diff-tree.txt

index 0398b40..617d8f5 100644 (file)
@@ -146,3 +146,52 @@ the file that rename/copy produces, respectively.
 
 3.  TAB, LF, and backslash characters in pathnames are
     represented as `\t`, `\n`, and `\\`, respectively.
+
+
+combined diff format
+--------------------
+
+git-diff-tree and git-diff-files can take '-c' or '--cc' option
+to produce 'combined diff', which looks like this:
+
+------------
+diff --combined describe.c
+@@@ +98,7 @@@
+   return (a_date > b_date) ? -1 : (a_date == b_date) ? 0 : 1;
+  }
+
+- static void describe(char *arg)
+ -static void describe(struct commit *cmit, int last_one)
+++static void describe(char *arg, int last_one)
+  {
+ +     unsigned char sha1[20];
+ +     struct commit *cmit;
+------------
+
+Unlike the traditional 'unified' diff format, which shows two
+files A and B with a single column that has `-` (minus --
+appears in A but removed in B), `+` (plus -- missing in A but
+added to B), or ` ` (space -- unchanged) prefix, this format
+compares two or more files file1, file2,... with one file X, and
+shows how X differs from each of fileN.  One column for each of
+fileN is prepended to the output line to note how X's line is
+different from it.
+
+A `-` character in the column N means that the line appears in
+fileN but it does not appear in the last file.  A `+` character
+in the column N means that the line appears in the last file,
+and fileN does not have that line.
+
+In the above example output, the function signature was changed
+from both files (hence two `-` removals from both file1 and
+file2, plus `++` to mean one line that was added does not appear
+in either file1 nor file2).  Also two other lines are the same
+from file1 but do not appear in file2 (hence prefixed with ` +`).
+
+When shown by `git diff-tree -c`, it compares the parents of a
+merge commit with the merge result (i.e. file1..fileN are the
+parents).  When shown by `git diff-files -c`, it compares the
+two unresolved merge parents with the working tree file
+(i.e. file1 is stage 2 aka "our version", file2 is stage 3 aka
+"their version").
+
index 6eea3ad..031aa99 100644 (file)
@@ -272,7 +272,7 @@ git-diff-files(1) Manual Page
 </div>\r
 <h2>SYNOPSIS</h2>\r
 <div class="sectionbody">\r
-<p><em>git-diff-files</em> [-q] [&lt;common diff options&gt;] [&lt;path&gt;&#8230;]</p>\r
+<p><em>git-diff-files</em> [-q] [-0|-1|-2|-3|-c|--cc] [&lt;common diff options&gt;] [&lt;path&gt;&#8230;]</p>\r
 </div>\r
 <h2>DESCRIPTION</h2>\r
 <div class="sectionbody">\r
@@ -450,6 +450,17 @@ cleanly resolved paths.  The option -0 can be given to
 omit diff output for unmerged entries and just show "Unmerged".</p>\r
 </dd>\r
 <dt>\r
+-c,--cc\r
+</dt>\r
+<dd>\r
+<p>\r
+        This compares stage 2 (our branch), stage 3 (their\r
+        branch) and the working tree file and outputs a combined\r
+        diff, similar to the way <em>diff-tree</em> shows a merge\r
+        commit with these flags.\r
+</p>\r
+</dd>\r
+<dt>\r
 -q\r
 </dt>\r
 <dd>\r
@@ -722,6 +733,48 @@ TAB, LF, and backslash characters in pathnames are
 </li>\r
 </ol>\r
 </div>\r
+<h2>combined diff format</h2>\r
+<div class="sectionbody">\r
+<p>git-diff-tree and git-diff-files can take <em>-c</em> or <em>--cc</em> option\r
+to produce <em>combined diff</em>, which looks like this:</p>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt>diff --combined describe.c\r
+@@@ +98,7 @@@\r
+   return (a_date &gt; b_date) ? -1 : (a_date == b_date) ? 0 : 1;\r
+  }\r
+\r
+- static void describe(char *arg)\r
+ -static void describe(struct commit *cmit, int last_one)\r
+++static void describe(char *arg, int last_one)\r
+  {\r
+ +     unsigned char sha1[20];\r
+ +     struct commit *cmit;</tt></pre>\r
+</div></div>\r
+<p>Unlike the traditional <em>unified</em> diff format, which shows two\r
+files A and B with a single column that has <tt>-</tt> (minus &#8212;\r
+appears in A but removed in B), <tt>+</tt> (plus &#8212; missing in A but\r
+added to B), or <tt> </tt> (space &#8212; unchanged) prefix, this format\r
+compares two or more files file1, file2,&#8230; with one file X, and\r
+shows how X differs from each of fileN.  One column for each of\r
+fileN is prepended to the output line to note how X's line is\r
+different from it.</p>\r
+<p>A <tt>-</tt> character in the column N means that the line appears in\r
+fileN but it does not appear in the last file.  A <tt>+</tt> character\r
+in the column N means that the line appears in the last file,\r
+and fileN does not have that line.</p>\r
+<p>In the above example output, the function signature was changed\r
+from both files (hence two <tt>-</tt> removals from both file1 and\r
+file2, plus <tt>++</tt> to mean one line that was added does not appear\r
+in either file1 nor file2).  Also two other lines are the same\r
+from file1 but do not appear in file2 (hence prefixed with <tt> +</tt>).</p>\r
+<p>When shown by <tt>git diff-tree -c</tt>, it compares the parents of a\r
+merge commit with the merge result (i.e. file1..fileN are the\r
+parents).  When shown by <tt>git diff-files -c</tt>, it compares the\r
+two unresolved merge parents with the working tree file\r
+(i.e. file1 is stage 2 aka "our version", file2 is stage 3 aka\r
+"their version").</p>\r
+</div>\r
 <h2>Author</h2>\r
 <div class="sectionbody">\r
 <p>Written by Linus Torvalds &lt;torvalds@osdl.org&gt;</p>\r
@@ -736,7 +789,7 @@ TAB, LF, and backslash characters in pathnames are
 </div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 06-Jan-2006 17:12:18 PDT\r
+Last updated 28-Jan-2006 02:37:47 PDT\r
 </div>\r
 </div>\r
 </body>\r
index 67f5126..481b8b3 100644 (file)
@@ -8,7 +8,7 @@ git-diff-files - Compares files in the working tree and the index
 
 SYNOPSIS
 --------
-'git-diff-files' [-q] [<common diff options>] [<path>...]
+'git-diff-files' [-q] [-0|-1|-2|-3|-c|--cc] [<common diff options>] [<path>...]
 
 DESCRIPTION
 -----------
@@ -30,6 +30,12 @@ The default is to diff against our branch (-2) and the
 cleanly resolved paths.  The option -0 can be given to
 omit diff output for unmerged entries and just show "Unmerged".
 
+-c,--cc::
+       This compares stage 2 (our branch), stage 3 (their
+       branch) and the working tree file and outputs a combined
+       diff, similar to the way 'diff-tree' shows a merge
+       commit with these flags.
+
 -q::
        Remain silent even on nonexisting files
 
index 968e3ae..97b1fd8 100644 (file)
@@ -729,6 +729,48 @@ TAB, LF, and backslash characters in pathnames are
 </li>\r
 </ol>\r
 </div>\r
+<h2>combined diff format</h2>\r
+<div class="sectionbody">\r
+<p>git-diff-tree and git-diff-files can take <em>-c</em> or <em>--cc</em> option\r
+to produce <em>combined diff</em>, which looks like this:</p>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt>diff --combined describe.c\r
+@@@ +98,7 @@@\r
+   return (a_date &gt; b_date) ? -1 : (a_date == b_date) ? 0 : 1;\r
+  }\r
+\r
+- static void describe(char *arg)\r
+ -static void describe(struct commit *cmit, int last_one)\r
+++static void describe(char *arg, int last_one)\r
+  {\r
+ +     unsigned char sha1[20];\r
+ +     struct commit *cmit;</tt></pre>\r
+</div></div>\r
+<p>Unlike the traditional <em>unified</em> diff format, which shows two\r
+files A and B with a single column that has <tt>-</tt> (minus &#8212;\r
+appears in A but removed in B), <tt>+</tt> (plus &#8212; missing in A but\r
+added to B), or <tt> </tt> (space &#8212; unchanged) prefix, this format\r
+compares two or more files file1, file2,&#8230; with one file X, and\r
+shows how X differs from each of fileN.  One column for each of\r
+fileN is prepended to the output line to note how X's line is\r
+different from it.</p>\r
+<p>A <tt>-</tt> character in the column N means that the line appears in\r
+fileN but it does not appear in the last file.  A <tt>+</tt> character\r
+in the column N means that the line appears in the last file,\r
+and fileN does not have that line.</p>\r
+<p>In the above example output, the function signature was changed\r
+from both files (hence two <tt>-</tt> removals from both file1 and\r
+file2, plus <tt>++</tt> to mean one line that was added does not appear\r
+in either file1 nor file2).  Also two other lines are the same\r
+from file1 but do not appear in file2 (hence prefixed with <tt> +</tt>).</p>\r
+<p>When shown by <tt>git diff-tree -c</tt>, it compares the parents of a\r
+merge commit with the merge result (i.e. file1..fileN are the\r
+parents).  When shown by <tt>git diff-files -c</tt>, it compares the\r
+two unresolved merge parents with the working tree file\r
+(i.e. file1 is stage 2 aka "our version", file2 is stage 3 aka\r
+"their version").</p>\r
+</div>\r
 <h2>Operating Modes</h2>\r
 <div class="sectionbody">\r
 <p>You can choose whether you want to trust the index file entirely\r
@@ -837,7 +879,7 @@ always have the special all-zero sha1.</td>
 </div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 06-Jan-2006 17:12:20 PDT\r
+Last updated 28-Jan-2006 02:37:49 PDT\r
 </div>\r
 </div>\r
 </body>\r
index faf5473..11b351d 100644 (file)
@@ -707,6 +707,48 @@ TAB, LF, and backslash characters in pathnames are
 </li>\r
 </ol>\r
 </div>\r
+<h2>combined diff format</h2>\r
+<div class="sectionbody">\r
+<p>git-diff-tree and git-diff-files can take <em>-c</em> or <em>--cc</em> option\r
+to produce <em>combined diff</em>, which looks like this:</p>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt>diff --combined describe.c\r
+@@@ +98,7 @@@\r
+   return (a_date &gt; b_date) ? -1 : (a_date == b_date) ? 0 : 1;\r
+  }\r
+\r
+- static void describe(char *arg)\r
+ -static void describe(struct commit *cmit, int last_one)\r
+++static void describe(char *arg, int last_one)\r
+  {\r
+ +     unsigned char sha1[20];\r
+ +     struct commit *cmit;</tt></pre>\r
+</div></div>\r
+<p>Unlike the traditional <em>unified</em> diff format, which shows two\r
+files A and B with a single column that has <tt>-</tt> (minus &#8212;\r
+appears in A but removed in B), <tt>+</tt> (plus &#8212; missing in A but\r
+added to B), or <tt> </tt> (space &#8212; unchanged) prefix, this format\r
+compares two or more files file1, file2,&#8230; with one file X, and\r
+shows how X differs from each of fileN.  One column for each of\r
+fileN is prepended to the output line to note how X's line is\r
+different from it.</p>\r
+<p>A <tt>-</tt> character in the column N means that the line appears in\r
+fileN but it does not appear in the last file.  A <tt>+</tt> character\r
+in the column N means that the line appears in the last file,\r
+and fileN does not have that line.</p>\r
+<p>In the above example output, the function signature was changed\r
+from both files (hence two <tt>-</tt> removals from both file1 and\r
+file2, plus <tt>++</tt> to mean one line that was added does not appear\r
+in either file1 nor file2).  Also two other lines are the same\r
+from file1 but do not appear in file2 (hence prefixed with <tt> +</tt>).</p>\r
+<p>When shown by <tt>git diff-tree -c</tt>, it compares the parents of a\r
+merge commit with the merge result (i.e. file1..fileN are the\r
+parents).  When shown by <tt>git diff-files -c</tt>, it compares the\r
+two unresolved merge parents with the working tree file\r
+(i.e. file1 is stage 2 aka "our version", file2 is stage 3 aka\r
+"their version").</p>\r
+</div>\r
 <h2>Author</h2>\r
 <div class="sectionbody">\r
 <p>Written by Junio C Hamano &lt;junkio@cox.net&gt;</p>\r
@@ -721,7 +763,7 @@ TAB, LF, and backslash characters in pathnames are
 </div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 06-Jan-2006 17:12:22 PDT\r
+Last updated 28-Jan-2006 02:37:52 PDT\r
 </div>\r
 </div>\r
 </body>\r
index 64dcd23..036370e 100644 (file)
@@ -273,8 +273,9 @@ git-diff-tree(1) Manual Page
 <h2>SYNOPSIS</h2>\r
 <div class="sectionbody">\r
 <div class="verseblock">\r
-<div class="content"><em>git-diff-tree</em> [--stdin] [-m] [-s] [-v] [--no-commit-id] [--pretty] [-t] [-r]\r
-              [--root] [&lt;common diff options&gt;] &lt;tree-ish&gt; [&lt;tree-ish&gt;] [&lt;path&gt;&#8230;]</div></div>\r
+<div class="content"><em>git-diff-tree</em> [--stdin] [-m] [-s] [-v] [--no-commit-id] [--pretty]\r
+              [-t] [-r] [-c | --cc] [--root] [&lt;common diff options&gt;]\r
+              &lt;tree-ish&gt; [&lt;tree-ish&gt;] [&lt;path&gt;&#8230;]</div></div>\r
 </div>\r
 <h2>DESCRIPTION</h2>\r
 <div class="sectionbody">\r
@@ -547,6 +548,25 @@ separated with a single space are given.</p>
         applicable.  This flag suppressed the commit ID output.\r
 </p>\r
 </dd>\r
+<dt>\r
+-c,--cc\r
+</dt>\r
+<dd>\r
+<p>\r
+        These flags change the way a merge commit is displayed\r
+        (which means it is useful only when the command is given\r
+        one &lt;tree-ish&gt;, or <em>--stdin</em>).  It shows the differences\r
+        from each of the parents to the merge result\r
+        simultaneously, instead of showing pairwise diff between\r
+        a parent and the result one at a time, which <em>-m</em> option\r
+        output does.  <em>--cc</em> further compresses the output by\r
+        omiting hunks that show differences from only one\r
+        parent, or show the same change from all but one parent\r
+        for an Octopus merge.  When this optimization makes all\r
+        hunks disappear, the commit itself and the commit log\r
+        message is not shown, unless <em>-m</em> is specified.\r
+</p>\r
+</dd>\r
 </dl>\r
 </div>\r
 <h2>Limiting Output</h2>\r
@@ -854,6 +874,48 @@ TAB, LF, and backslash characters in pathnames are
 </li>\r
 </ol>\r
 </div>\r
+<h2>combined diff format</h2>\r
+<div class="sectionbody">\r
+<p>git-diff-tree and git-diff-files can take <em>-c</em> or <em>--cc</em> option\r
+to produce <em>combined diff</em>, which looks like this:</p>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt>diff --combined describe.c\r
+@@@ +98,7 @@@\r
+   return (a_date &gt; b_date) ? -1 : (a_date == b_date) ? 0 : 1;\r
+  }\r
+\r
+- static void describe(char *arg)\r
+ -static void describe(struct commit *cmit, int last_one)\r
+++static void describe(char *arg, int last_one)\r
+  {\r
+ +     unsigned char sha1[20];\r
+ +     struct commit *cmit;</tt></pre>\r
+</div></div>\r
+<p>Unlike the traditional <em>unified</em> diff format, which shows two\r
+files A and B with a single column that has <tt>-</tt> (minus &#8212;\r
+appears in A but removed in B), <tt>+</tt> (plus &#8212; missing in A but\r
+added to B), or <tt> </tt> (space &#8212; unchanged) prefix, this format\r
+compares two or more files file1, file2,&#8230; with one file X, and\r
+shows how X differs from each of fileN.  One column for each of\r
+fileN is prepended to the output line to note how X's line is\r
+different from it.</p>\r
+<p>A <tt>-</tt> character in the column N means that the line appears in\r
+fileN but it does not appear in the last file.  A <tt>+</tt> character\r
+in the column N means that the line appears in the last file,\r
+and fileN does not have that line.</p>\r
+<p>In the above example output, the function signature was changed\r
+from both files (hence two <tt>-</tt> removals from both file1 and\r
+file2, plus <tt>++</tt> to mean one line that was added does not appear\r
+in either file1 nor file2).  Also two other lines are the same\r
+from file1 but do not appear in file2 (hence prefixed with <tt> +</tt>).</p>\r
+<p>When shown by <tt>git diff-tree -c</tt>, it compares the parents of a\r
+merge commit with the merge result (i.e. file1..fileN are the\r
+parents).  When shown by <tt>git diff-files -c</tt>, it compares the\r
+two unresolved merge parents with the working tree file\r
+(i.e. file1 is stage 2 aka "our version", file2 is stage 3 aka\r
+"their version").</p>\r
+</div>\r
 <h2>Author</h2>\r
 <div class="sectionbody">\r
 <p>Written by Linus Torvalds &lt;torvalds@osdl.org&gt;</p>\r
@@ -868,7 +930,7 @@ TAB, LF, and backslash characters in pathnames are
 </div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 06-Jan-2006 17:12:24 PDT\r
+Last updated 28-Jan-2006 02:37:53 PDT\r
 </div>\r
 </div>\r
 </body>\r
index 91fb130..dd46d4f 100644 (file)
@@ -9,8 +9,9 @@ git-diff-tree - Compares the content and mode of blobs found via two tree object
 SYNOPSIS
 --------
 [verse]
-'git-diff-tree' [--stdin] [-m] [-s] [-v] [--no-commit-id] [--pretty] [-t] [-r]
-             [--root] [<common diff options>] <tree-ish> [<tree-ish>] [<path>...]
+'git-diff-tree' [--stdin] [-m] [-s] [-v] [--no-commit-id] [--pretty]
+             [-t] [-r] [-c | --cc] [--root] [<common diff options>]
+             <tree-ish> [<tree-ish>] [<path>...]
 
 DESCRIPTION
 -----------
@@ -80,6 +81,20 @@ separated with a single space are given.
        git-diff-tree outputs a line with the commit ID when
        applicable.  This flag suppressed the commit ID output.
 
+-c,--cc::
+       These flags change the way a merge commit is displayed
+       (which means it is useful only when the command is given
+       one <tree-ish>, or '--stdin').  It shows the differences
+       from each of the parents to the merge result
+       simultaneously, instead of showing pairwise diff between
+       a parent and the result one at a time, which '-m' option
+       output does.  '--cc' further compresses the output by
+       omiting hunks that show differences from only one
+       parent, or show the same change from all but one parent
+       for an Octopus merge.  When this optimization makes all
+       hunks disappear, the commit itself and the commit log
+       message is not shown, unless '-m' is specified.
+
 
 Limiting Output
 ---------------