Browse Source

Merge branch 'jk/maint-add-p-delete-fix' into maint

* jk/maint-add-p-delete-fix:
  add-interactive: fix deletion of non-empty files
maint
Junio C Hamano 15 years ago
parent
commit
a876433c5f
  1. 6
      git-add--interactive.perl
  2. 20
      t/t3701-add-interactive.sh

6
git-add--interactive.perl

@ -1217,7 +1217,11 @@ sub patch_update_file { @@ -1217,7 +1217,11 @@ sub patch_update_file {
if (@{$mode->{TEXT}}) {
unshift @hunk, $mode;
}
if (@{$deletion->{TEXT}} && !@hunk) {
if (@{$deletion->{TEXT}}) {
foreach my $hunk (@hunk) {
push @{$deletion->{TEXT}}, @{$hunk->{TEXT}};
push @{$deletion->{DISPLAY}}, @{$hunk->{DISPLAY}};
}
@hunk = ($deletion);
}


20
t/t3701-add-interactive.sh

@ -228,6 +228,26 @@ test_expect_success 'add first line works' ' @@ -228,6 +228,26 @@ test_expect_success 'add first line works' '
test_cmp expected diff
'

cat >expected <<EOF
diff --git a/non-empty b/non-empty
deleted file mode 100644
index d95f3ad..0000000
--- a/non-empty
+++ /dev/null
@@ -1 +0,0 @@
-content
EOF
test_expect_success 'deleting a non-empty file' '
git reset --hard &&
echo content >non-empty &&
git add non-empty &&
git commit -m non-empty &&
rm non-empty &&
echo y | git add -p non-empty &&
git diff --cached >diff &&
test_cmp expected diff
'

cat >expected <<EOF
diff --git a/empty b/empty
deleted file mode 100644

Loading…
Cancel
Save