<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/diff.c, branch v2.29.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.29.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.29.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2020-09-24T19:31:45Z</updated>
<entry>
<title>diff: fix modified lines stats with --stat and --numstat</title>
<updated>2020-09-24T19:31:45Z</updated>
<author>
<name>Thomas Guyot-Sionnest</name>
<email>tguyot@gmail.com</email>
</author>
<published>2020-09-24T07:41:41Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ff0c7fa8cbd7f7d5e81c2501222b60f0aac30bb9'/>
<id>urn:sha1:ff0c7fa8cbd7f7d5e81c2501222b60f0aac30bb9</id>
<content type='text'>
Only skip diffstats when both oids are valid and identical. This check
was causing both false-positives (files included in diffstats with no
actual changes (0 lines modified) and false-negatives (showing 0 lines
modified in stats when files had actually changed).

Also replaced same_contents with may_differ to avoid confusion.

Signed-off-by: Thomas Guyot-Sionnest &lt;tguyot@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jc/quote-path-cleanup'</title>
<updated>2020-09-19T00:58:04Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2020-09-19T00:58:04Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=9d4e7ec4d9e695d95cc7474f59fba8cc38580e29'/>
<id>urn:sha1:9d4e7ec4d9e695d95cc7474f59fba8cc38580e29</id>
<content type='text'>
"git status --short" quoted a path with SP in it when tracked, but
not those that are untracked, ignored or unmerged.  They are all
shown quoted consistently.

* jc/quote-path-cleanup:
  quote: turn 'nodq' parameter into a set of flags
  quote: rename misnamed sq_lookup[] to cq_lookup[]
  wt-status: consistently quote paths in "status --short" output
  quote_path: code clarification
  quote_path: optionally allow quoting a path with SP in it
  quote_path: give flags parameter to quote_path()
  quote_path: rename quote_path_relative() to quote_path()
</content>
</entry>
<entry>
<title>quote: turn 'nodq' parameter into a set of flags</title>
<updated>2020-09-10T20:08:07Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2020-09-10T17:01:59Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=7c37c9750a0b402a68c73d0e4644f538a026d121'/>
<id>urn:sha1:7c37c9750a0b402a68c73d0e4644f538a026d121</id>
<content type='text'>
quote_c_style() and its friend quote_two_c_style() both take an
optional "please omit the double quotes around the quoted body"
parameter.  Turn it into a flag word, assign one bit out of it,
and call it CQUOTE_NODQ bit.

No behaviour change intended.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ss/submodule-summary-in-c'</title>
<updated>2020-09-09T20:53:05Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2020-09-09T20:53:05Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=bbdba3d88320cd99ae3425f31e4c20213a877cac'/>
<id>urn:sha1:bbdba3d88320cd99ae3425f31e4c20213a877cac</id>
<content type='text'>
Yet another subcommand of "git submodule" is getting rewritten in C.

* ss/submodule-summary-in-c:
  submodule: port submodule subcommand 'summary' from shell to C
  t7421: introduce a test script for verifying 'summary' output
  submodule: rename helper functions to avoid ambiguity
  submodule: remove extra line feeds between callback struct and macro
</content>
</entry>
<entry>
<title>Merge branch 'mr/diff-hide-stat-wo-textual-change'</title>
<updated>2020-09-03T19:37:05Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2020-09-03T19:37:05Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b58e47a929ec3d3d5fe63f18ae9539ffe9051c51'/>
<id>urn:sha1:b58e47a929ec3d3d5fe63f18ae9539ffe9051c51</id>
<content type='text'>
"git diff --stat -w" showed 0-line changes for paths whose changes
were only whitespaces, which was not intuitive.  We now omit such
paths from the stat output.

* mr/diff-hide-stat-wo-textual-change:
  diff: teach --stat to ignore uninteresting modifications
</content>
</entry>
<entry>
<title>Merge branch 'dd/diff-customize-index-line-abbrev'</title>
<updated>2020-08-31T22:49:46Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2020-08-31T22:49:46Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=096c948dabc7d13a6cc81a8ad803fd96fc1c5d15'/>
<id>urn:sha1:096c948dabc7d13a6cc81a8ad803fd96fc1c5d15</id>
<content type='text'>
The output from the "diff" family of the commands had abbreviated
object names of blobs involved in the patch, but its length was not
affected by the --abbrev option.  Now it is.

* dd/diff-customize-index-line-abbrev:
  diff: index-line: respect --abbrev in object's name
  t4013: improve diff-post-processor logic
</content>
</entry>
<entry>
<title>Merge branch 'rs/patch-id-with-incomplete-line'</title>
<updated>2020-08-24T21:54:33Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2020-08-24T21:54:33Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=51226147d16d59243957cb3bc1b2313f9f740725'/>
<id>urn:sha1:51226147d16d59243957cb3bc1b2313f9f740725</id>
<content type='text'>
The patch-id computation did not ignore the "incomplete last line"
marker like whitespaces.

* rs/patch-id-with-incomplete-line:
  patch-id: ignore newline at end of file in diff_flush_patch_id()
</content>
</entry>
<entry>
<title>diff: index-line: respect --abbrev in object's name</title>
<updated>2020-08-21T19:43:05Z</updated>
<author>
<name>Đoàn Trần Công Danh</name>
<email>congdanhqx@gmail.com</email>
</author>
<published>2020-08-21T11:51:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3046c7f69a6337a971b219d047b8110e3f9ea971'/>
<id>urn:sha1:3046c7f69a6337a971b219d047b8110e3f9ea971</id>
<content type='text'>
A handful of Git's commands respect `--abbrev' for customizing length
of abbreviation of object names.

For diff-family, Git supports 2 different options for 2 different
purposes, `--full-index' for showing diff-patch object's name in full,
and `--abbrev' to customize the length of object names in diff-raw and
diff-tree header lines, without any options to customise the length of
object names in diff-patch format. When working with diff-patch format,
we only have two options, either full index, or default abbrev length.

Although, that behaviour is documented, it doesn't stop users from
trying to use `--abbrev' with the hope of customising diff-patch's
objects' name's abbreviation.

Let's allow the blob object names shown on the "index" line to be
abbreviated to arbitrary length given via the "--abbrev" option.

To preserve backward compatibility with old script that specify both
`--full-index' and `--abbrev', always show full object id
if `--full-index' is specified.

Signed-off-by: Đoàn Trần Công Danh &lt;congdanhqx@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>diff: teach --stat to ignore uninteresting modifications</title>
<updated>2020-08-20T00:53:32Z</updated>
<author>
<name>Matthew Rogers</name>
<email>mattr94@gmail.com</email>
</author>
<published>2020-08-20T00:41:32Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1cf3d5db9bd11514465d3692216211315f0dc82c'/>
<id>urn:sha1:1cf3d5db9bd11514465d3692216211315f0dc82c</id>
<content type='text'>
When options such as --ignore-space-change are in use, files with
modifications can have no interesting textual changes worth showing.  In
such cases, "git diff --stat" shows 0 lines of additions and deletions.
Teach "git diff --stat" not to show such a path in its output, which
would be more natural.

However, we don't want to prevent the display  of all files that have 0
effective diffs since they could be the result of a rename, permission
change, or other similar operation that may still be of interest so we
special case additions and deletions as they are always interesting.

Signed-off-by: Matthew Rogers &lt;mattr94@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>patch-id: ignore newline at end of file in diff_flush_patch_id()</title>
<updated>2020-08-18T23:14:01Z</updated>
<author>
<name>René Scharfe</name>
<email>l.s.r@web.de</email>
</author>
<published>2020-08-18T22:08:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=82a62015a7b55a56f779b9ddfb98a3b0552d2bb4'/>
<id>urn:sha1:82a62015a7b55a56f779b9ddfb98a3b0552d2bb4</id>
<content type='text'>
Whitespace is ignored when calculating patch IDs.  This is done by
removing all whitespace from diff lines before hashing them, including
a newline at the end of a file.  If that newline is missing, however,
diff reports that fact in a separate line containing "\ No newline at
end of file\n", and this marker is hashed like a context line.

This goes against our goal of making patch IDs independent of
whitespace.  Use the same heuristic that 2485eab55cc (git-patch-id: do
not trip over "no newline" markers, 2011-02-17) added to git patch-id
instead and skip diff lines that start with a backslash and a space
and are longer than twelve characters.

Reported-by: Tilman Vogel &lt;tilman.vogel@web.de&gt;
Initial-test-by: Tilman Vogel &lt;tilman.vogel@web.de&gt;
Signed-off-by: René Scharfe &lt;l.s.r@web.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
