Browse Source

Merge branch 'sc/difftool-skip'

* sc/difftool-skip:
  t7800: avoid arithmetic expansion notation
  git-difftool: allow skipping file by typing 'n' at prompt
maint
Junio C Hamano 13 years ago
parent
commit
1ad4b17b06
  1. 9
      git-difftool--helper.sh
  2. 43
      t/t7800-difftool.sh

9
git-difftool--helper.sh

@ -43,12 +43,15 @@ launch_merge_tool () { @@ -43,12 +43,15 @@ launch_merge_tool () {
printf "\nViewing: '$MERGED'\n"
if use_ext_cmd
then
printf "Hit return to launch '%s': " \
printf "Launch '%s' [Y/n]: " \
"$GIT_DIFFTOOL_EXTCMD"
else
printf "Hit return to launch '%s': " "$merge_tool"
printf "Launch '%s' [Y/n]: " "$merge_tool"
fi
if read ans && test "$ans" = n
then
return
fi
read ans
fi

if use_ext_cmd

43
t/t7800-difftool.sh

@ -38,7 +38,17 @@ restore_test_defaults() @@ -38,7 +38,17 @@ restore_test_defaults()
prompt_given()
{
prompt="$1"
test "$prompt" = "Hit return to launch 'test-tool': branch"
test "$prompt" = "Launch 'test-tool' [Y/n]: branch"
}

stdin_contains()
{
grep >/dev/null "$1"
}

stdin_doesnot_contain()
{
! stdin_contains "$1"
}

# Create a file on master and change it on branch
@ -265,4 +275,35 @@ test_expect_success PERL 'difftool --extcmd cat arg2' ' @@ -265,4 +275,35 @@ test_expect_success PERL 'difftool --extcmd cat arg2' '
test "$diff" = branch
'

# Create a second file on master and a different version on branch
test_expect_success PERL 'setup with 2 files different' '
echo m2 >file2 &&
git add file2 &&
git commit -m "added file2" &&

git checkout branch &&
echo br2 >file2 &&
git add file2 &&
git commit -a -m "branch changed file2" &&
git checkout master
'

test_expect_success PERL 'say no to the first file' '
diff=$( (echo n; echo) | git difftool -x cat branch ) &&

echo "$diff" | stdin_contains m2 &&
echo "$diff" | stdin_contains br2 &&
echo "$diff" | stdin_doesnot_contain master &&
echo "$diff" | stdin_doesnot_contain branch
'

test_expect_success PERL 'say no to the second file' '
diff=$( (echo; echo n) | git difftool -x cat branch ) &&

echo "$diff" | stdin_contains master &&
echo "$diff" | stdin_contains branch &&
echo "$diff" | stdin_doesnot_contain m2 &&
echo "$diff" | stdin_doesnot_contain br2
'

test_done

Loading…
Cancel
Save