Browse Source

wt-status.c: set commitable bit if there is a meaningful merge.

The 'commit --dry-run' and 'commit' return values differed if a
conflicted merge had been resolved and the resulting commit would
record the same tree as the parent.

Update show_merge_in_progress to set the commitable bit if conflicts
have been resolved and a merge is in progress.

Signed-off-by: Stephen P. Smith <ischis2@cox.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Stephen P. Smith 9 years ago committed by Junio C Hamano
parent
commit
8dc874b2ee
  1. 20
      t/t7501-commit.sh
  2. 1
      wt-status.c

20
t/t7501-commit.sh

@ -587,4 +587,24 @@ test_expect_success '--only works on to-be-born branch' ' @@ -587,4 +587,24 @@ test_expect_success '--only works on to-be-born branch' '
test_cmp expected actual
'

test_expect_success '--dry-run with conflicts fixed from a merge' '
# setup two branches with conflicting information
# in the same file, resolve the conflict,
# call commit with --dry-run
echo "Initial contents, unimportant" >test-file &&
git add test-file &&
git commit -m "Initial commit" &&
echo "commit-1-state" >test-file &&
git commit -m "commit 1" -i test-file &&
git tag commit-1 &&
git checkout -b branch-2 HEAD^1 &&
echo "commit-2-state" >test-file &&
git commit -m "commit 2" -i test-file &&
! $(git merge --no-commit commit-1) &&
echo "commit-2-state" >test-file &&
git add test-file &&
git commit --dry-run &&
git commit -m "conflicts fixed from merge."
'

test_done

1
wt-status.c

@ -949,6 +949,7 @@ static void show_merge_in_progress(struct wt_status *s, @@ -949,6 +949,7 @@ static void show_merge_in_progress(struct wt_status *s,
status_printf_ln(s, color,
_(" (fix conflicts and run \"git commit\")"));
} else {
s-> commitable = 1;
status_printf_ln(s, color,
_("All conflicts fixed but you are still merging."));
if (s->hints)

Loading…
Cancel
Save