<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/tree-diff.c, branch v1.7.0.5</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://www.git.shady.money/git/atom?h=v1.7.0.5</id>
<link rel='self' href='https://www.git.shady.money/git/atom?h=v1.7.0.5'/>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/'/>
<updated>2010-01-19T01:28:21Z</updated>
<entry>
<title>Performance optimization for detection of modified submodules</title>
<updated>2010-01-19T01:28:21Z</updated>
<author>
<name>Jens Lehmann</name>
<email>Jens.Lehmann@web.de</email>
</author>
<published>2010-01-18T20:26:18Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=e3d42c4773bccebb50f01b108d20b06c6a11e615'/>
<id>urn:sha1:e3d42c4773bccebb50f01b108d20b06c6a11e615</id>
<content type='text'>
In the worst case is_submodule_modified() got called three times for
each submodule. The information we got from scanning the whole
submodule tree the first time can be reused instead.

New parameters have been added to diff_change() and diff_addremove(),
the information is stored in a new member of struct diff_filespec. Its
value is then reused instead of calling is_submodule_modified() again.

When no explicit "-dirty" is needed in the output the call to
is_submodule_modified() is not necessary when the submodules HEAD
already disagrees with the ref of the superproject, as this alone
marks it as modified. To achieve that, get_stat_data() got an extra
argument.

Signed-off-by: Jens Lehmann &lt;Jens.Lehmann@web.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>diff: Rename QUIET internal option to QUICK</title>
<updated>2009-07-29T17:22:39Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2009-05-23T08:15:35Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=90b1994170900514a1ce7a3345e25cb7216915cc'/>
<id>urn:sha1:90b1994170900514a1ce7a3345e25cb7216915cc</id>
<content type='text'>
The option "QUIET" primarily meant "find if we have _any_ difference as
quick as possible and report", which means we often do not even have to
look at blobs if we know the trees are different by looking at the higher
level (e.g. "diff-tree A B").  As a side effect, because there is no point
showing one change that we happened to have found first, it also enables
NO_OUTPUT and EXIT_WITH_STATUS options, making the end result look quiet.

Rename the internal option to QUICK to reflect this better; it also makes
grepping the source tree much easier, as there are other kinds of QUIET
option everywhere.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>diff: change semantics of "ignore whitespace" options</title>
<updated>2009-07-29T17:22:39Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2009-05-22T19:45:29Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=f245194f9a13d5108c3a59fd4ab1770ae9fd5b65'/>
<id>urn:sha1:f245194f9a13d5108c3a59fd4ab1770ae9fd5b65</id>
<content type='text'>
Traditionally, the --ignore-whitespace* options have merely meant to tell
the diff output routine that some class of differences are not worth
showing in the textual diff output, so that the end user has easier time
to review the remaining (presumably more meaningful) changes.  These
options never affected the outcome of the command, given as the exit
status when the --exit-code option was in effect (either directly or
indirectly).

When you have only whitespace changes, however, you might expect

	git diff -b --exit-code

to report that there is _no_ change with zero exit status.

Change the semantics of --ignore-whitespace* options to mean more than
"omit showing the difference in text".

The exit status, when --exit-code is in effect, is computed by checking if
we found any differences at the path level, while diff frontends feed
filepairs to the diffcore engine.  When "ignore whitespace" options are in
effect, we defer this determination until the very end of diffcore
transformation.  We simply do not know until the textual diff is
generated, which comes very late in the pipeline.

When --quiet is in effect, various diff frontends optimize by breaking out
early from the loop that enumerates the filepairs, when we find the first
path level difference; when --ignore-whitespace* is used the above change
automatically disables this optimization.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ne/maint-1.6.0-diff-tree-t-r-show-directory'</title>
<updated>2009-07-02T02:40:47Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2009-07-02T02:40:47Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=4197195bee15f120e99d797b22108fd274235fd7'/>
<id>urn:sha1:4197195bee15f120e99d797b22108fd274235fd7</id>
<content type='text'>
* ne/maint-1.6.0-diff-tree-t-r-show-directory:
  diff-tree -r -t: include added/removed directories in the output
</content>
</entry>
<entry>
<title>diff-tree -r -t: include added/removed directories in the output</title>
<updated>2009-06-14T00:06:09Z</updated>
<author>
<name>Nick Edelen</name>
<email>sirnot@gmail.com</email>
</author>
<published>2009-06-14T00:06:09Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=df533f34a31890a43baaf00d03c0a7fa51886bc5'/>
<id>urn:sha1:df533f34a31890a43baaf00d03c0a7fa51886bc5</id>
<content type='text'>
We used to include only the modified and typechanged directories
in the ouptut, but for consistency's sake, we should also include
added and removed ones as well.

This makes the output more consistent, but it may break existing scripts
that expect to see the current output which has long been the established
behaviour.

Signed-off-by: Nick Edelen &lt;sirnot@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Fix typos / spelling in comments</title>
<updated>2009-04-23T02:02:12Z</updated>
<author>
<name>Mike Ralphson</name>
<email>mike@abacus.co.uk</email>
</author>
<published>2009-04-17T18:13:30Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=3ea3c215c02dc4a4e7d0881c25b2223540960797'/>
<id>urn:sha1:3ea3c215c02dc4a4e7d0881c25b2223540960797</id>
<content type='text'>
Signed-off-by: Mike Ralphson &lt;mike@abacus.co.uk&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>tree_entry_interesting: a pathspec only matches at directory boundary</title>
<updated>2009-04-02T02:35:16Z</updated>
<author>
<name>Björn Steinbrink</name>
<email>B.Steinbrink@gmx.de</email>
</author>
<published>2009-03-31T15:05:01Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=f0946cb826b9b6c01976860fdd9dfd498ce0ec5e'/>
<id>urn:sha1:f0946cb826b9b6c01976860fdd9dfd498ce0ec5e</id>
<content type='text'>
Previously the code did a simple prefix match, which means that a
path in a directory "frotz/" would have matched with pathspec "f".

Signed-off-by: Björn Steinbrink &lt;B.Steinbrink@gmx.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>'git foo' program identifies itself without dash in die() messages</title>
<updated>2008-08-31T16:39:19Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2008-08-31T16:39:19Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=7e44c93558e7c0b12624d76cf07753d0480ed96a'/>
<id>urn:sha1:7e44c93558e7c0b12624d76cf07753d0480ed96a</id>
<content type='text'>
This is a mechanical conversion of all '*.c' files with:

	s/((?:die|error|warning)\("git)-(\S+:)/$1 $2/;

The result was manually inspected and no false positive was found.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Fix buffer overflow in git diff</title>
<updated>2008-07-16T21:03:24Z</updated>
<author>
<name>Dmitry Potapov</name>
<email>dpotapov@gmail.com</email>
</author>
<published>2008-07-16T14:54:02Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=fd55a19eb1d49ae54008d932a65f79cd6fda45c9'/>
<id>urn:sha1:fd55a19eb1d49ae54008d932a65f79cd6fda45c9</id>
<content type='text'>
If PATH_MAX on your system is smaller than a path stored, it may cause
buffer overflow and stack corruption in diff_addremove() and diff_change()
functions when running git-diff

Signed-off-by: Dmitry Potapov &lt;dpotapov@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Fix small memory leaks induced by diff_tree_setup_paths</title>
<updated>2007-12-12T18:59:22Z</updated>
<author>
<name>Mike Hommey</name>
<email>mh@glandium.org</email>
</author>
<published>2007-12-11T21:59:55Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=03b69c7606267bc978c69cf88fcd7a8edf8175bc'/>
<id>urn:sha1:03b69c7606267bc978c69cf88fcd7a8edf8175bc</id>
<content type='text'>
Run diff_tree_release_paths in the appropriate places, and add a test to
avoid NULL dereference. Better safe than sorry.

Signed-off-by: Mike Hommey &lt;mh@glandium.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
