Browse Source

Merge branch 'tr/maint-1.6.3-add-p-modeonly-fix'

* tr/maint-1.6.3-add-p-modeonly-fix:
  add -p: do not attempt to coalesce mode changes
  git add -p: demonstrate failure when staging both mode and hunk
maint
Junio C Hamano 16 years ago
parent
commit
09ba7b2d9f
  1. 4
      git-add--interactive.perl
  2. 11
      t/t3701-add-interactive.sh

4
git-add--interactive.perl

@ -841,6 +841,10 @@ sub coalesce_overlapping_hunks { @@ -841,6 +841,10 @@ sub coalesce_overlapping_hunks {
my ($last_o_ctx, $last_was_dirty);

for (grep { $_->{USE} } @in) {
if ($_->{TYPE} ne 'hunk') {
push @out, $_;
next;
}
my $text = $_->{TEXT};
my ($o_ofs) = parse_hunk_header($text->[0]);
if (defined $last_o_ctx &&

11
t/t3701-add-interactive.sh

@ -163,6 +163,17 @@ test_expect_success FILEMODE 'stage mode but not hunk' ' @@ -163,6 +163,17 @@ test_expect_success FILEMODE 'stage mode but not hunk' '
git diff file | grep "+content"
'


test_expect_success FILEMODE 'stage mode and hunk' '
git reset --hard &&
echo content >>file &&
chmod +x file &&
printf "y\\ny\\n" | git add -p &&
git diff --cached file | grep "new mode" &&
git diff --cached file | grep "+content" &&
test -z "$(git diff file)"
'

# end of tests disabled when filemode is not usable

test_expect_success 'setup again' '

Loading…
Cancel
Save