aboutsummaryrefslogtreecommitdiffstats
path: root/builtin/log.c
diff options
context:
space:
mode:
authorJerry Zhang <jerry@skydio.com>2022-10-24 20:07:39 +0000
committerJunio C Hamano <gitster@pobox.com>2022-10-24 15:44:19 -0700
commit0570be79ead35e47e29ee2587e2c8ea47c091d49 (patch)
treea3441183faeb2ecb4ff8e854ed4dc0d2c06c5955 /builtin/log.c
parentMerge a handful of topics from the 'master' front (diff)
downloadgit-0570be79ead35e47e29ee2587e2c8ea47c091d49.tar.gz
git-0570be79ead35e47e29ee2587e2c8ea47c091d49.zip
patch-id: fix stable patch id for binary / header-only
Patch-ids for binary patches are found by hashing the object ids of the before and after objects in succession. However in the --stable case, there is a bug where hunks are not flushed for binary and header-only patch ids, which would always result in a patch-id of 0000. The --unstable case is currently correct. Reorder the logic to branch into 3 cases for populating the patch body: header-only which populates nothing, binary which populates the object ids, and normal which populates the text diff. All branches will end up flushing the hunk. Don't populate the ---a/ and +++b/ lines for binary diffs, to correspond to those lines not being present in the "git diff" text output. This is necessary because we advertise that the patch-id calculated internally and used in format-patch is the same that what the builtin "git patch-id" would produce when piped from a diff. Update the test to run on both binary and normal files. Signed-off-by: Jerry Zhang <jerry@skydio.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/log.c')
0 files changed, 0 insertions, 0 deletions