<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/diff.c, branch v2.16.3</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://www.git.shady.money/git/atom?h=v2.16.3</id>
<link rel='self' href='https://www.git.shady.money/git/atom?h=v2.16.3'/>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/'/>
<updated>2018-03-22T21:24:09Z</updated>
<entry>
<title>Merge branch 'nd/diff-flush-before-warning' into maint</title>
<updated>2018-03-22T21:24:09Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2018-03-22T21:24:09Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=b32221935e82d74d653212339442606d98aa7594'/>
<id>urn:sha1:b32221935e82d74d653212339442606d98aa7594</id>
<content type='text'>
Avoid showing a warning message in the middle of a line of "git
diff" output.

* nd/diff-flush-before-warning:
  diff.c: flush stdout before printing rename warnings
</content>
</entry>
<entry>
<title>Merge branch 'nd/ita-wt-renames-in-status' into maint</title>
<updated>2018-02-27T18:39:35Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2018-02-27T18:39:34Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=12accdc023f2b62109860cb745bdd1827b2c22de'/>
<id>urn:sha1:12accdc023f2b62109860cb745bdd1827b2c22de</id>
<content type='text'>
"git status" after moving a path in the working tree (hence making
it appear "removed") and then adding with the -N option (hence
making that appear "added") detected it as a rename, but did not
report the  old and new pathnames correctly.

* nd/ita-wt-renames-in-status:
  wt-status.c: handle worktree renames
  wt-status.c: rename rename-related fields in wt_status_change_data
  wt-status.c: catch unhandled diff status codes
  wt-status.c: coding style fix
  Use DIFF_DETECT_RENAME for detect_rename assignments
  t2203: test status output with porcelain v2 format
</content>
</entry>
<entry>
<title>diff.c: flush stdout before printing rename warnings</title>
<updated>2018-01-16T22:34:20Z</updated>
<author>
<name>Nguyễn Thái Ngọc Duy</name>
<email>pclouds@gmail.com</email>
</author>
<published>2018-01-16T09:23:49Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=4e056c989f8642050973ba1aabc687979f41798c'/>
<id>urn:sha1:4e056c989f8642050973ba1aabc687979f41798c</id>
<content type='text'>
The diff output is buffered in a FILE object and could still be
partially buffered when we print these warnings (directly to fd 2).
The output is messed up like this

 worktree.c                                   |   138 +-
 worktree.h        warning: inexact rename detection was skipped due to too many files.
                           |    12 +-
 wrapper.c                                    |    83 +-

It gets worse if the warning is printed after color codes for the graph
part are already printed. You'll get a warning in green or red.

Flush stdout first, so we can get something like this instead:

 xdiff/xutils.c                               |    42 +-
 xdiff/xutils.h                               |     4 +-
 1033 files changed, 150824 insertions(+), 69395 deletions(-)
warning: inexact rename detection was skipped due to too many files.

Signed-off-by: Nguyễn Thái Ngọc Duy &lt;pclouds@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'cc/skip-to-optional-val'</title>
<updated>2017-12-28T22:08:46Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-12-28T22:08:46Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=f427b94985f7f8cde46df20f644760adc0ca6735'/>
<id>urn:sha1:f427b94985f7f8cde46df20f644760adc0ca6735</id>
<content type='text'>
Introduce a helper to simplify code to parse a common pattern that
expects either "--key" or "--key=&lt;something&gt;".

* cc/skip-to-optional-val:
  t4045: reindent to make helpers readable
  diff: add tests for --relative without optional prefix value
  diff: use skip_to_optional_arg_default() in parsing --relative
  diff: use skip_to_optional_arg_default()
  diff: use skip_to_optional_arg()
  index-pack: use skip_to_optional_arg()
  git-compat-util: introduce skip_to_optional_arg()
</content>
</entry>
<entry>
<title>Use DIFF_DETECT_RENAME for detect_rename assignments</title>
<updated>2017-12-27T20:38:35Z</updated>
<author>
<name>Nguyễn Thái Ngọc Duy</name>
<email>pclouds@gmail.com</email>
</author>
<published>2017-12-27T10:18:35Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=06dba2b0235293e84157a59fa22dc89baa336166'/>
<id>urn:sha1:06dba2b0235293e84157a59fa22dc89baa336166</id>
<content type='text'>
This field can have two values (2 for copy). Use this name instead for
clarity. Many places have already used this constant.

Note, the detect_rename assignments in merge-recursive.c remain
unchanged because it's actually a boolean there.

Signed-off-by: Nguyễn Thái Ngọc Duy &lt;pclouds@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ar/unconfuse-three-dots'</title>
<updated>2017-12-19T19:33:58Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-12-19T19:33:58Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=8d7fefaac4318ac3155368f475e10f97714ebd47'/>
<id>urn:sha1:8d7fefaac4318ac3155368f475e10f97714ebd47</id>
<content type='text'>
Ancient part of codebase still shows dots after an abbreviated
object name just to show that it is not a full object name, but
these ellipses are confusing to people who newly discovered Git
who are used to seeing abbreviated object names and find them
confusing with the range syntax.

* ar/unconfuse-three-dots:
  t2020: test variations that matter
  t4013: test new output from diff --abbrev --raw
  diff: diff_aligned_abbrev: remove ellipsis after abbreviated SHA-1 value
  t4013: prepare for upcoming "diff --raw --abbrev" output format change
  checkout: describe_detached_head: remove ellipsis after committish
  print_sha1_ellipsis: introduce helper
  Documentation: user-manual: limit usage of ellipsis
  Documentation: revisions: fix typo: "three dot" ---&gt; "three-dot" (in line with "two-dot").
</content>
</entry>
<entry>
<title>Merge branch 'jt/diff-anchored-patience'</title>
<updated>2017-12-19T19:33:56Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-12-19T19:33:56Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=d7c6c2369ac21141b7c6cceaebc6414ec3da14ad'/>
<id>urn:sha1:d7c6c2369ac21141b7c6cceaebc6414ec3da14ad</id>
<content type='text'>
"git diff" learned a variant of the "--patience" algorithm, to
which the user can specify which 'unique' line to be used as
anchoring points.

* jt/diff-anchored-patience:
  diff: support anchoring line(s)
</content>
</entry>
<entry>
<title>Merge branch 'en/rename-progress'</title>
<updated>2017-12-19T19:33:55Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-12-19T19:33:55Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=646685460c26d56b149da91544e76150119d9c9b'/>
<id>urn:sha1:646685460c26d56b149da91544e76150119d9c9b</id>
<content type='text'>
Historically, the diff machinery for rename detection had a
hardcoded limit of 32k paths; this is being lifted to allow users
trade cycles with a (possibly) easier to read result.

* en/rename-progress:
  diffcore-rename: make diff-tree -l0 mean -l&lt;large&gt;
  sequencer: show rename progress during cherry picks
  diff: remove silent clamp of renameLimit
  progress: fix progress meters when dealing with lots of work
  sequencer: warn when internal merge may be suboptimal due to renameLimit
</content>
</entry>
<entry>
<title>diff: use skip_to_optional_arg_default() in parsing --relative</title>
<updated>2017-12-12T00:10:12Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-12-09T20:40:11Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=1efad51197f52ba9fb928b92a7f92514ab02a97f'/>
<id>urn:sha1:1efad51197f52ba9fb928b92a7f92514ab02a97f</id>
<content type='text'>
Helped-by: Jacob Keller &lt;jacob.keller@gmail.com&gt;
Helped-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>diff: use skip_to_optional_arg_default()</title>
<updated>2017-12-12T00:10:12Z</updated>
<author>
<name>Christian Couder</name>
<email>christian.couder@gmail.com</email>
</author>
<published>2017-12-09T20:40:10Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=cf81f94da45db8a030073e6ef3370f8498e9ce78'/>
<id>urn:sha1:cf81f94da45db8a030073e6ef3370f8498e9ce78</id>
<content type='text'>
Let's simplify diff option parsing using
skip_to_optional_arg_default().

Signed-off-by: Christian Couder &lt;chriscool@tuxfamily.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
