summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xgit-add--interactive.perl8
-rwxr-xr-xt/t3701-add-interactive.sh2
2 files changed, 6 insertions, 4 deletions
diff --git a/git-add--interactive.perl b/git-add--interactive.perl
index 52659bb..10fd30a 100755
--- a/git-add--interactive.perl
+++ b/git-add--interactive.perl
@@ -177,7 +177,9 @@ sub run_cmd_pipe {
} else {
my $fh = undef;
open($fh, '-|', @_) or die;
- return <$fh>;
+ my @out = <$fh>;
+ close $fh || die "Cannot close @_ ($!)";
+ return @out;
}
}
@@ -224,7 +226,7 @@ my $status_head = sprintf($status_fmt, __('staged'), __('unstaged'), __('path'))
sub get_empty_tree {
return $empty_tree if defined $empty_tree;
- $empty_tree = run_cmd_pipe(qw(git hash-object -t tree /dev/null));
+ ($empty_tree) = run_cmd_pipe(qw(git hash-object -t tree /dev/null));
chomp $empty_tree;
return $empty_tree;
}
@@ -1127,7 +1129,7 @@ aborted and the hunk is left unchanged.
EOF2
close $fh;
- chomp(my $editor = run_cmd_pipe(qw(git var GIT_EDITOR)));
+ chomp(my ($editor) = run_cmd_pipe(qw(git var GIT_EDITOR)));
system('sh', '-c', $editor.' "$@"', $editor, $hunkfile);
if ($? != 0) {
diff --git a/t/t3701-add-interactive.sh b/t/t3701-add-interactive.sh
index f436341..5db6432 100755
--- a/t/t3701-add-interactive.sh
+++ b/t/t3701-add-interactive.sh
@@ -530,7 +530,7 @@ test_expect_success 'diff.algorithm is passed to `git diff-files`' '
>file &&
git add file &&
echo changed >file &&
- git -c diff.algorithm=bogus add -p 2>err &&
+ test_must_fail git -c diff.algorithm=bogus add -p 2>err &&
test_i18ngrep "error: option diff-algorithm accepts " err
'