Merge branch 'da/difftool-dir-diff-fix' into da/t7800-cleanup
* da/difftool-dir-diff-fix: difftool: fix dir-diff index creation when in a subdirectorymaint
commit
a83c2d2972
|
@ -182,6 +182,10 @@ EOF
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Go to the root of the worktree so that the left index files
|
||||||
|
# are properly setup -- the index is toplevel-relative.
|
||||||
|
chdir($workdir);
|
||||||
|
|
||||||
# Setup temp directories
|
# Setup temp directories
|
||||||
my $tmpdir = tempdir('git-difftool.XXXXX', CLEANUP => 0, TMPDIR => 1);
|
my $tmpdir = tempdir('git-difftool.XXXXX', CLEANUP => 0, TMPDIR => 1);
|
||||||
my $ldir = "$tmpdir/left";
|
my $ldir = "$tmpdir/left";
|
||||||
|
|
|
@ -386,6 +386,7 @@ test_expect_success 'setup change in subdirectory' '
|
||||||
echo master >sub/sub &&
|
echo master >sub/sub &&
|
||||||
git add sub/sub &&
|
git add sub/sub &&
|
||||||
git commit -m "added sub/sub" &&
|
git commit -m "added sub/sub" &&
|
||||||
|
git tag v1 &&
|
||||||
echo test >>file &&
|
echo test >>file &&
|
||||||
echo test >>sub/sub &&
|
echo test >>sub/sub &&
|
||||||
git add file sub/sub &&
|
git add file sub/sub &&
|
||||||
|
@ -421,12 +422,49 @@ run_dir_diff_test 'difftool --dir-diff ignores --prompt' '
|
||||||
grep file output
|
grep file output
|
||||||
'
|
'
|
||||||
|
|
||||||
run_dir_diff_test 'difftool --dir-diff from subdirectory' '
|
run_dir_diff_test 'difftool --dir-diff branch from subdirectory' '
|
||||||
(
|
(
|
||||||
cd sub &&
|
cd sub &&
|
||||||
git difftool --dir-diff $symlinks --extcmd ls branch >output &&
|
git difftool --dir-diff $symlinks --extcmd ls branch >output &&
|
||||||
grep sub output &&
|
# "sub" must only exist in "right"
|
||||||
grep file output
|
# "file" and "file2" must be listed in both "left" and "right"
|
||||||
|
test "1" = $(grep sub output | wc -l) &&
|
||||||
|
test "2" = $(grep file"$" output | wc -l) &&
|
||||||
|
test "2" = $(grep file2 output | wc -l)
|
||||||
|
)
|
||||||
|
'
|
||||||
|
|
||||||
|
run_dir_diff_test 'difftool --dir-diff v1 from subdirectory' '
|
||||||
|
(
|
||||||
|
cd sub &&
|
||||||
|
git difftool --dir-diff $symlinks --extcmd ls v1 >output &&
|
||||||
|
# "sub" and "file" exist in both v1 and HEAD.
|
||||||
|
# "file2" is unchanged.
|
||||||
|
test "2" = $(grep sub output | wc -l) &&
|
||||||
|
test "2" = $(grep file output | wc -l) &&
|
||||||
|
test "0" = $(grep file2 output | wc -l)
|
||||||
|
)
|
||||||
|
'
|
||||||
|
|
||||||
|
run_dir_diff_test 'difftool --dir-diff branch from subdirectory w/ pathspec' '
|
||||||
|
(
|
||||||
|
cd sub &&
|
||||||
|
git difftool --dir-diff $symlinks --extcmd ls branch -- .>output &&
|
||||||
|
# "sub" only exists in "right"
|
||||||
|
# "file" and "file2" must not be listed
|
||||||
|
test "1" = $(grep sub output | wc -l) &&
|
||||||
|
test "0" = $(grep file output | wc -l)
|
||||||
|
)
|
||||||
|
'
|
||||||
|
|
||||||
|
run_dir_diff_test 'difftool --dir-diff v1 from subdirectory w/ pathspec' '
|
||||||
|
(
|
||||||
|
cd sub &&
|
||||||
|
git difftool --dir-diff $symlinks --extcmd ls v1 -- .>output &&
|
||||||
|
# "sub" exists in v1 and HEAD
|
||||||
|
# "file" is filtered out by the pathspec
|
||||||
|
test "2" = $(grep sub output | wc -l) &&
|
||||||
|
test "0" = $(grep file output | wc -l)
|
||||||
)
|
)
|
||||||
'
|
'
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue