summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Jeff King <peff@peff.net>2020-10-23 03:10:15 -0400
committerLibravatar Junio C Hamano <gitster@pobox.com>2020-10-23 08:25:22 -0700
commit5f35edd9d7ebca17f205b338d340cc6ce214644a (patch)
tree33c547ab8dae6c1cedef2af684dd08a0dd9086fe
parentam: fix broken email with --committer-date-is-author-date (diff)
downloadtgif-5f35edd9d7ebca17f205b338d340cc6ce214644a.tar.xz
rebase: fix broken email with --committer-date-is-author-date
Commit 7573cec52c (rebase -i: support --committer-date-is-author-date, 2020-08-17) copied the committer ident-parsing code from builtin/am.c. And in doing so, it copied a bug in which we always set the email to an empty string. We fixed the version in git-am in the previous commit; this commit fixes the copied code. Reported-by: VenomVendor <info@venomvendor.com> Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--sequencer.c2
-rwxr-xr-xt/t3436-rebase-more-options.sh8
2 files changed, 5 insertions, 5 deletions
diff --git a/sequencer.c b/sequencer.c
index 4ccb5451a9..9dcd3db3ef 100644
--- a/sequencer.c
+++ b/sequencer.c
@@ -4369,7 +4369,7 @@ static int init_committer(struct replay_opts *opts)
opts->committer_name =
xmemdupz(id.name_begin, id.name_end - id.name_begin);
opts->committer_email =
- xmemdupz(id.mail_begin, id.mail_end - id.mail_end);
+ xmemdupz(id.mail_begin, id.mail_end - id.mail_begin);
return 0;
}
diff --git a/t/t3436-rebase-more-options.sh b/t/t3436-rebase-more-options.sh
index 3fda2235bd..eaaf4c8d1d 100755
--- a/t/t3436-rebase-more-options.sh
+++ b/t/t3436-rebase-more-options.sh
@@ -76,20 +76,20 @@ test_expect_success '--committer-date-is-author-date works with apply backend' '
test_ctime_is_atime -1
'
-test_expect_failure '--committer-date-is-author-date works with merge backend' '
+test_expect_success '--committer-date-is-author-date works with merge backend' '
GIT_AUTHOR_DATE="@1234 +0300" git commit --amend --reset-author &&
git rebase -m --committer-date-is-author-date HEAD^ &&
test_ctime_is_atime -1
'
-test_expect_failure '--committer-date-is-author-date works with rebase -r' '
+test_expect_success '--committer-date-is-author-date works with rebase -r' '
git checkout side &&
GIT_AUTHOR_DATE="@1234 +0300" git merge --no-ff commit3 &&
git rebase -r --root --committer-date-is-author-date &&
test_ctime_is_atime
'
-test_expect_failure '--committer-date-is-author-date works when forking merge' '
+test_expect_success '--committer-date-is-author-date works when forking merge' '
git checkout side &&
GIT_AUTHOR_DATE="@1234 +0300" git merge --no-ff commit3 &&
PATH="./test-bin:$PATH" git rebase -r --root --strategy=test \
@@ -145,7 +145,7 @@ test_expect_success '--reset-author-date works with rebase -r' '
test_atime_is_ignored
'
-test_expect_failure '--reset-author-date with --committer-date-is-author-date works' '
+test_expect_success '--reset-author-date with --committer-date-is-author-date works' '
test_must_fail git rebase -m --committer-date-is-author-date \
--reset-author-date --onto commit2^^ commit2^ commit3 &&
git checkout --theirs foo &&