diff options
author | Junio C Hamano <gitster@pobox.com> | 2016-05-23 14:54:28 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-05-23 14:54:28 -0700 |
commit | 9ce2824e4ba56bf0f2017a0e351fa35c22a705ac (patch) | |
tree | 799aa15994da31edcbd4dc6b79a3c4b3e6458ac9 | |
parent | Sync with 2.8.3 (diff) | |
parent | wt-status.c: set commitable bit if there is a meaningful merge. (diff) | |
download | tgif-9ce2824e4ba56bf0f2017a0e351fa35c22a705ac.tar.xz |
Merge branch 'ss/commit-dry-run-resolve-merge-to-no-op'
"git commit --dry-run" reported "No, no, you cannot commit." in one
case where "git commit" would have allowed you to commit, and this
improves it a little bit ("git commit --dry-run --short" still does
not give you the correct answer, for example). This is a stop-gap
measure in that "commit --short --dry-run" still gives an incorrect
result.
* ss/commit-dry-run-resolve-merge-to-no-op:
wt-status.c: set commitable bit if there is a meaningful merge.
-rwxr-xr-x | t/t7501-commit.sh | 20 | ||||
-rw-r--r-- | wt-status.c | 1 |
2 files changed, 21 insertions, 0 deletions
diff --git a/t/t7501-commit.sh b/t/t7501-commit.sh index 900f7de05a..d84897a67a 100755 --- a/t/t7501-commit.sh +++ b/t/t7501-commit.sh @@ -607,4 +607,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 diff --git a/wt-status.c b/wt-status.c index 1ea2ebe4c0..16856305ca 100644 --- a/wt-status.c +++ b/wt-status.c @@ -950,6 +950,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) |