diff options
author | Junio C Hamano <gitster@pobox.com> | 2013-03-29 01:37:22 +0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-03-29 01:37:22 +0400 |
commit | 18973d8ac9e396d0eefdf36d7c6aa43aa7d396a6 (patch) | |
tree | 3dbfeddce403353b393042a812cfa2c669e54fbf /t/t7800-difftool.sh | |
parent | d8355e5eaecddbcafdd66aa3d6433ae12f627177 (diff) | |
parent | 02c56314aab9474827cd7831518a970f0341e4fd (diff) |
Merge branch 'jk/difftool-dir-diff-edit-fix'
"git difftool --dir-diff" made symlinks to working tree files when
preparing a temporary directory structure, so that accidental edits
of these files in the difftool are reflected back to the working
tree, but the logic to decide when to do so was not quite right.
* jk/difftool-dir-diff-edit-fix:
difftool --dir-diff: symlink all files matching the working tree
difftool: avoid double slashes in symlink targets
git-difftool(1): fix formatting of --symlink description
Diffstat (limited to 't/t7800-difftool.sh')
-rwxr-xr-x | t/t7800-difftool.sh | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/t/t7800-difftool.sh b/t/t7800-difftool.sh index 3aab6e1500..c6d6b1c99f 100755 --- a/t/t7800-difftool.sh +++ b/t/t7800-difftool.sh @@ -340,6 +340,28 @@ test_expect_success PERL 'difftool --dir-diff' ' stdin_contains file <output ' +write_script .git/CHECK_SYMLINKS <<\EOF +for f in file file2 sub/sub +do + echo "$f" + readlink "$2/$f" +done >actual +EOF + +test_expect_success PERL,SYMLINKS 'difftool --dir-diff --symlink without unstaged changes' ' + cat >expect <<-EOF && + file + $(pwd)/file + file2 + $(pwd)/file2 + sub/sub + $(pwd)/sub/sub + EOF + git difftool --dir-diff --symlink \ + --extcmd "./.git/CHECK_SYMLINKS" branch HEAD && + test_cmp actual expect +' + test_expect_success PERL 'difftool --dir-diff ignores --prompt' ' git difftool --dir-diff --prompt --extcmd ls branch >output && stdin_contains sub <output && |