From: "Phillip Wood via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: Phillip Wood <phillip.wood123@gmail.com>,
Phillip Wood <phillip.wood@dunelm.org.uk>
Subject: [PATCH v2 0/3] rebase --continue: remove .git/MERGE_MSG
Date: Thu, 12 Aug 2021 13:42:06 +0000 [thread overview]
Message-ID: <pull.1013.v2.git.1628775729.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.1013.git.1628587917.gitgitgadget@gmail.com>
Thanks for the comments on V1. I have expanded the commit message for the
first patch to give a bit more context and reworded a couple of test
descriptions in patch 2 as suggested by Elijah. Patch 3 is unchanged.
V1 Cover Letter:
If the user removes all the changes from the worktree without running git
reset then rebase --continue leaves behind .git/MERGE_MSG which will then
seed the message of the next commit. While working on this I noticed a
couple of fixups for the test files I was adding to, I've cc'd Elijah in
case my reasoning for patch 2 is off. Thanks to Victor for the bug report.
cc: Victor Gambier vgambier@excilys.com cc: Elijah Newren newren@gmail.com
cc: Johannes Schindelin Johannes.Schindelin@gmx.de
Phillip Wood (3):
t3403: fix commit authorship
rebase --apply: restore some tests
rebase --continue: remove .git/MERGE_MSG
sequencer.c | 3 +++
t/t3403-rebase-skip.sh | 13 +++++++++++--
t/t3418-rebase-continue.sh | 18 ++++++++++++++----
3 files changed, 28 insertions(+), 6 deletions(-)
base-commit: 2d755dfac9aadab25c3e025b849252b8c0a61465
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1013%2Fphillipwood%2Fwip%2Frebase-remove-merge-msg-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1013/phillipwood/wip/rebase-remove-merge-msg-v2
Pull-Request: https://github.com/gitgitgadget/git/pull/1013
Range-diff vs v1:
1: 7559781ca92 ! 1: 8755dfa9d04 t3403: fix commit authorship
@@ Commit message
t3403: fix commit authorship
Setting GIT_AUTHOR_* when committing with --amend will only change the
- author if we also pass --reset-author
+ author if we also pass --reset-author. This commit is used in some
+ tests that ensure the author ident does not change when rebasing.
+ Creating this commit without changing the authorship meant that the
+ test would not catch regressions that caused rebase to discard the
+ original authorship information.
Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk>
2: f7722dab21d ! 2: 84fe5823b4f rebase --apply: restore some tests
@@ Commit message
from "am" to "merge"", 2020-02-15). However some tests seem to have
been missed leading to us testing the "merge" backend twice. This
patch fixes some cases that I noticed while adding tests to these
- files, I have not audited all the other rebase test files.
+ files, I have not audited all the other rebase test files. I've
+ reworded a couple of the test descriptions to make it clear which
+ backend they are testing.
Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk>
@@ t/t3403-rebase-skip.sh: test_expect_success setup '
test_expect_success 'rebase --skip can not be used with other options' '
## t/t3418-rebase-continue.sh ##
-@@ t/t3418-rebase-continue.sh: test_expect_success 'non-interactive rebase --continue works with touched file'
+@@ t/t3418-rebase-continue.sh: test_expect_success 'setup' '
+ git checkout main
+ '
+
+-test_expect_success 'interactive rebase --continue works with touched file' '
++test_expect_success 'merge based rebase --continue with works with touched file' '
+ rm -fr .git/rebase-* &&
+ git reset --hard &&
+ git checkout main &&
+@@ t/t3418-rebase-continue.sh: test_expect_success 'interactive rebase --continue works with touched file' '
+ git rebase --continue
+ '
+
+-test_expect_success 'non-interactive rebase --continue works with touched file' '
++test_expect_success 'apply based rebase --continue works with touched file' '
+ rm -fr .git/rebase-* &&
git reset --hard &&
git checkout main &&
3: 6a63b657f13 ! 3: 028c9dfc460 rebase --continue: remove .git/MERGE_MSG
@@ t/t3403-rebase-skip.sh: test_expect_success 'moved back to branch correctly' '
test_must_fail git rebase -i --onto goodbye \
## t/t3418-rebase-continue.sh ##
-@@ t/t3418-rebase-continue.sh: test_expect_success 'interactive rebase --continue works with touched file' '
+@@ t/t3418-rebase-continue.sh: test_expect_success 'merge based rebase --continue with works with touched file'
git rebase --continue
'
-+test_expect_success 'rebase --continue removes .git/MERGE_MSG' '
++test_expect_success 'merge based rebase --continue removes .git/MERGE_MSG' '
+ git checkout -f --detach topic &&
+
+ test_must_fail git rebase --onto main HEAD^ &&
@@ t/t3418-rebase-continue.sh: test_expect_success 'interactive rebase --continue w
+ test_path_is_missing .git/MERGE_MSG
+'
+
- test_expect_success 'non-interactive rebase --continue works with touched file' '
+ test_expect_success 'apply based rebase --continue works with touched file' '
rm -fr .git/rebase-* &&
git reset --hard &&
--
gitgitgadget
next prev parent reply other threads:[~2021-08-12 13:42 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-10 9:31 [PATCH 0/3] rebase --continue: remove .git/MERGE_MSG Phillip Wood via GitGitGadget
2021-08-10 9:31 ` [PATCH 1/3] t3403: fix commit authorship Phillip Wood via GitGitGadget
2021-08-10 17:01 ` Elijah Newren
2021-08-10 18:43 ` Junio C Hamano
2021-08-12 10:04 ` Phillip Wood
2021-08-14 21:53 ` Johannes Schindelin
2021-08-15 17:36 ` Junio C Hamano
2021-08-15 20:04 ` Phillip Wood
2021-08-16 16:36 ` Junio C Hamano
2021-08-17 10:05 ` Phillip Wood
2021-08-10 9:31 ` [PATCH 2/3] rebase --apply: restore some tests Phillip Wood via GitGitGadget
2021-08-10 16:58 ` Elijah Newren
2021-08-12 10:03 ` Phillip Wood
2021-08-10 9:31 ` [PATCH 3/3] rebase --continue: remove .git/MERGE_MSG Phillip Wood via GitGitGadget
2021-08-10 17:03 ` [PATCH 0/3] " Elijah Newren
2021-08-12 13:42 ` Phillip Wood via GitGitGadget [this message]
2021-08-12 13:42 ` [PATCH v2 1/3] t3403: fix commit authorship Phillip Wood via GitGitGadget
2021-08-12 13:42 ` [PATCH v2 2/3] rebase --apply: restore some tests Phillip Wood via GitGitGadget
2021-08-12 13:42 ` [PATCH v2 3/3] rebase --continue: remove .git/MERGE_MSG Phillip Wood via GitGitGadget
2021-08-13 23:01 ` Junio C Hamano
2021-08-14 20:01 ` Phillip Wood
2021-08-13 0:46 ` [PATCH v2 0/3] " Elijah Newren
2021-08-13 15:31 ` Junio C Hamano
2021-08-13 17:21 ` Elijah Newren
2021-08-14 20:02 ` Phillip Wood
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=pull.1013.v2.git.1628775729.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=git@vger.kernel.org \
--cc=phillip.wood123@gmail.com \
--cc=phillip.wood@dunelm.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).