summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2020-11-19 23:27:59 (GMT)
committerJunio C Hamano <gitster@pobox.com>2020-11-19 23:27:59 (GMT)
commitfced6d171e0e242e330dd71b123de4bcd2616f0b (patch)
tree53f5a3c1b3f033463b704260352bac7e0aa3134d
parentfaefdd61ec7c7f6f3c8c9907891465ac9a2a1475 (diff)
parentd66851806ff25c6afdb4650d8292a50d5ca0ea6d (diff)
downloadgit-fced6d171e0e242e330dd71b123de4bcd2616f0b.zip
git-fced6d171e0e242e330dd71b123de4bcd2616f0b.tar.gz
git-fced6d171e0e242e330dd71b123de4bcd2616f0b.tar.bz2
Merge 'jk/diff-release-filespec-fix' into js/default-branch-name-tests-final-stretch
* jk/diff-release-filespec-fix: t7800: simplify difftool test diff: allow passing NULL to diff_free_filespec_data()
-rw-r--r--diff.c3
-rwxr-xr-xt/t7800-difftool.sh13
2 files changed, 16 insertions, 0 deletions
diff --git a/diff.c b/diff.c
index d24f47d..ace4a1d 100644
--- a/diff.c
+++ b/diff.c
@@ -4115,6 +4115,9 @@ void diff_free_filespec_blob(struct diff_filespec *s)
void diff_free_filespec_data(struct diff_filespec *s)
{
+ if (!s)
+ return;
+
diff_free_filespec_blob(s);
FREE_AND_NULL(s->cnt_data);
}
diff --git a/t/t7800-difftool.sh b/t/t7800-difftool.sh
index 524f30f..a578b35 100755
--- a/t/t7800-difftool.sh
+++ b/t/t7800-difftool.sh
@@ -728,6 +728,19 @@ test_expect_success 'add -N and difftool -d' '
git difftool --dir-diff --extcmd ls
'
+test_expect_success 'difftool --cached with unmerged files' '
+ test_when_finished git reset --hard &&
+
+ test_commit conflicting &&
+ test_commit conflict-a conflict.t a &&
+ git reset --hard conflicting &&
+ test_commit conflict-b conflict.t b &&
+ test_must_fail git merge conflict-a &&
+
+ git difftool --cached --no-prompt >output &&
+ test_must_be_empty output
+'
+
test_expect_success 'outside worktree' '
echo 1 >1 &&
echo 2 >2 &&