<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/diff-cache.c, branch v0.99</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v0.99</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v0.99'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2005-07-08T17:45:07Z</updated>
<entry>
<title>git-diff-*: support "-u" as a synonym for "-p"</title>
<updated>2005-07-08T17:45:07Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@g5.osdl.org</email>
</author>
<published>2005-07-08T17:45:07Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=acb46f8769dd0031a98a284e06ebc5a09b151bfd'/>
<id>urn:sha1:acb46f8769dd0031a98a284e06ebc5a09b151bfd</id>
<content type='text'>
I'm probably not the only one whose fingers have gotten hard-wired to
use "-u" for "unified diff".
</content>
</entry>
<entry>
<title>[PATCH] Make -C less eager.</title>
<updated>2005-06-20T03:13:18Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2005-06-19T20:14:05Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4727f640036fbdad414bdcbe31d08f6a8fd70923'/>
<id>urn:sha1:4727f640036fbdad414bdcbe31d08f6a8fd70923</id>
<content type='text'>
Like diff-tree, this patch makes -C option for diff-* brothers
to use only pre-image of modified files as rename/copy detection
by default.  Give --find-copies-harder to use unmodified files
to find copies from as well.

This also fixes "diff-files -C" problem earlier noticed by
Linus.  It was feeding the null sha1 even when the file in the
work tree was known to match what is in the index file.  This
resulted in diff-files showing everything in the project.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] Add --diff-filter= output restriction to diff-* family.</title>
<updated>2005-06-13T03:40:20Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2005-06-12T03:57:13Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=f2ce9fde57513af026e0641073a6781a086251d5'/>
<id>urn:sha1:f2ce9fde57513af026e0641073a6781a086251d5</id>
<content type='text'>
This is a halfway between debugging aid and a helper to write an
ultra-smart merge scripts.  The new option takes a string that
consists of a list of "status" letters, and limits the diff
output to only those classes of changes, with two exceptions:

 - A broken pair (aka "complete rewrite"), does not match D
   (deleted) or N (created).  Use B to look for them.

 - The letter "A" in the diff-filter string does not match
   anything itself, but causes the entire diff that contains
   selected patches to be output (this behaviour is similar to
   that of --pickaxe-all for the -S option).

For example,

    $ git-rev-list HEAD |
      git-diff-tree --stdin -s -v -B -C --diff-filter=BCR

shows a list of commits that have complete rewrite, copy, or
rename.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] git-diff-cache: handle pathspec beginning with a dash</title>
<updated>2005-06-08T20:03:25Z</updated>
<author>
<name>Jonas Fonseca</name>
<email>fonseca@diku.dk</email>
</author>
<published>2005-06-06T21:27:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e0f0e891c1742c6ae22dbc648a1000ad8655ff34'/>
<id>urn:sha1:e0f0e891c1742c6ae22dbc648a1000ad8655ff34</id>
<content type='text'>
Parse everything after '--' as tree name or pathspec.

Signed-off-by: Jonas Fonseca &lt;fonseca@diku.dk&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] diff: Clean up diff_scoreopt_parse().</title>
<updated>2005-06-03T18:23:03Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2005-06-03T08:37:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=0e3994fa97e9876b571531444b97ae6e63fd744d'/>
<id>urn:sha1:0e3994fa97e9876b571531444b97ae6e63fd744d</id>
<content type='text'>
This cleans up diff_scoreopt_parse() function that is used to
parse the fractional notation -B, -C and -M option takes.  The
callers are modified to check for errors and complain.  Earlier
they silently ignored malformed input and falled back on the
default.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] diff: Fix docs and add -O to diff-helper.</title>
<updated>2005-06-03T18:23:03Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2005-06-03T08:36:43Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ce24067549a8554b214e723d7aa4bc063c54409e'/>
<id>urn:sha1:ce24067549a8554b214e723d7aa4bc063c54409e</id>
<content type='text'>
This patch updates diff documentation and usage strings:

 - clarify the semantics of -R.  It is not "output in reverse";
   rather, it is "I will feed diff backwards".  Semantically
   they are different when -C is involved.

 - describe -O in usage strings of diff-* brothers.  It was
   implemented, documented but not described in usage text.

Also it adds -O to diff-helper.  Like -S (and unlike -M/-C/-B),
this option can work on sanitized diff-raw output produced by
the diff-* brothers.  While we are at it, the call it makes to
diffcore is cleaned up to use the diffcore_std() like everybody
else, and the declaration for the low level diffcore routines
are moved from diff.h (public) to diffcore.h (private between
diff.c and diffcore backends).

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] Add -O&lt;orderfile&gt; option to diff-* brothers.</title>
<updated>2005-05-31T01:10:46Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2005-05-30T07:09:07Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=af5323e0274fad058f13949b89a9191a7bef7e38'/>
<id>urn:sha1:af5323e0274fad058f13949b89a9191a7bef7e38</id>
<content type='text'>
A new diffcore filter diffcore-order is introduced.  This takes
a text file each of whose line is a shell glob pattern.  Patches
that match a glob pattern on an earlier line in the file are
output before patches that match a later line, and patches that
do not match any glob pattern are output last.

A typical orderfile for git project probably should look like
this:

    README
    Makefile
    Documentation
    *.h
    *.c

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] Add -B flag to diff-* brothers.</title>
<updated>2005-05-30T17:35:49Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2005-05-30T07:08:37Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=f345b0a066572206aac4a4f9a57d746e213b6bff'/>
<id>urn:sha1:f345b0a066572206aac4a4f9a57d746e213b6bff</id>
<content type='text'>
A new diffcore transformation, diffcore-break.c, is introduced.

When the -B flag is given, a patch that represents a complete
rewrite is broken into a deletion followed by a creation.  This
makes it easier to review such a complete rewrite patch.

The -B flag takes the same syntax as the -M and -C flags to
specify the minimum amount of non-source material the resulting
file needs to have to be considered a complete rewrite, and
defaults to 99% if not specified.

As the new test t4008-diff-break-rewrite.sh demonstrates, if a
file is a complete rewrite, it is broken into a delete/create
pair, which can further be subjected to the usual rename
detection if -M or -C is used.  For example, if file0 gets
completely rewritten to make it as if it were rather based on
file1 which itself disappeared, the following happens:

    The original change looks like this:

	file0     --&gt; file0' (quite different from file0)
	file1     --&gt; /dev/null

    After diffcore-break runs, it would become this:

	file0     --&gt; /dev/null
	/dev/null --&gt; file0'
	file1     --&gt; /dev/null

    Then diffcore-rename matches them up:

	file1     --&gt; file0'

The internal score values are finer grained now.  Earlier
maximum of 10000 has been raised to 60000; there is no user
visible changes but there is no reason to waste available bits.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] diff: consolidate various calls into diffcore.</title>
<updated>2005-05-30T17:35:49Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2005-05-29T23:56:13Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=befe86392c767b62e4a6498cf951faae6f2c5ea3'/>
<id>urn:sha1:befe86392c767b62e4a6498cf951faae6f2c5ea3</id>
<content type='text'>
The three diff-* brothers had a sequence of calls into diffcore
that were almost identical.  Introduce a new diffcore_std()
function that takes all the necessary arguments to consolidate
it.  This will make later enhancements and changing the order of
diffcore application simpler.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] Pickaxe fixes.</title>
<updated>2005-05-29T18:42:29Z</updated>
<author>
<name>Junio C Hamano</name>
<email>junkio@cox.net</email>
</author>
<published>2005-05-28T09:53:43Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e25de75696dc99f327c8dd8e2cba937939e281ca'/>
<id>urn:sha1:e25de75696dc99f327c8dd8e2cba937939e281ca</id>
<content type='text'>
A bug in the command line argument parsing code was making
pickaxe not to work at all in diff-cache and diff-files commands.
Embarrassingly enough, the working pickaxe in diff-tree tells me
that it was not working in these two commands from day one.
This patch fixes it.

Also updates the documentation to describe the --pickaxe-all option.

Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
</feed>
