Browse Source

Merge branch 'zh/difftool-skip-to'

"git difftool" learned "--skip-to=<path>" option to restart an
interrupted session from an arbitrary path.

* zh/difftool-skip-to:
  difftool.c: learn a new way start at specified file
maint
Junio C Hamano 4 years ago
parent
commit
6eea44cee1
  1. 8
      Documentation/git-difftool.txt
  2. 32
      t/t7800-difftool.sh

8
Documentation/git-difftool.txt

@ -34,6 +34,14 @@ OPTIONS @@ -34,6 +34,14 @@ OPTIONS
This is the default behaviour; the option is provided to
override any configuration settings.

--rotate-to=<file>::
Start showing the diff for the given path,
the paths before it will move to end and output.

--skip-to=<file>::
Start showing the diff for the given path, skipping all
the paths before it.

-t <tool>::
--tool=<tool>::
Use the diff tool specified by <tool>. Valid values include

32
t/t7800-difftool.sh

@ -762,4 +762,36 @@ test_expect_success 'difftool --gui, --tool and --extcmd are mutually exclusive' @@ -762,4 +762,36 @@ test_expect_success 'difftool --gui, --tool and --extcmd are mutually exclusive'
test_must_fail git difftool --gui --tool=test-tool --extcmd=cat
'

test_expect_success 'difftool --rotate-to' '
difftool_test_setup &&
test_when_finished git reset --hard &&
echo 1 >1 &&
echo 2 >2 &&
echo 4 >4 &&
git add 1 2 4 &&
git commit -a -m "124" &&
git difftool --no-prompt --extcmd=cat --rotate-to="2" HEAD^ >output&&
cat >expect <<-\EOF &&
2
4
1
EOF
test_cmp output expect
'

test_expect_success 'difftool --skip-to' '
difftool_test_setup &&
test_when_finished git reset --hard &&
git difftool --no-prompt --extcmd=cat --skip-to="2" HEAD^ >output &&
cat >expect <<-\EOF &&
2
4
EOF
test_cmp output expect
'

test_expect_success 'difftool --rotate/skip-to error condition' '
test_must_fail git difftool --no-prompt --extcmd=cat --rotate-to="3" HEAD^ &&
test_must_fail git difftool --no-prompt --extcmd=cat --skip-to="3" HEAD^
'
test_done

Loading…
Cancel
Save