From: Junio C Hamano Date: Sat, 1 Dec 2018 12:41:42 +0000 (+0900) Subject: Merge branch 'js/rebase-stat-unrelated-fix' X-Git-Tag: v2.20.0-rc2~10 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=881d72eff8b0d23c8edc6f8d9673f8daafaace6f;p=thirdparty%2Fgit.git Merge branch 'js/rebase-stat-unrelated-fix' "git rebase --stat" to transplant a piece of history onto a totally unrelated history were not working before and silently showed wrong result. With the recent reimplementation in C, it started to instead die with an error message, as the original logic was not prepared to cope with this case. This has now been fixed. * js/rebase-stat-unrelated-fix: rebase --stat: fix when rebasing to an unrelated history --- 881d72eff8b0d23c8edc6f8d9673f8daafaace6f diff --cc t/t3406-rebase-message.sh index db8505eb86,c2c9950568..f64b130cb8 --- a/t/t3406-rebase-message.sh +++ b/t/t3406-rebase-message.sh @@@ -91,30 -91,14 +91,40 @@@ test_expect_success 'error out early up test_i18ngrep "Invalid whitespace option" err ' +test_expect_success 'GIT_REFLOG_ACTION' ' + git checkout start && + test_commit reflog-onto && + git checkout -b reflog-topic start && + test_commit reflog-to-rebase && + + git rebase reflog-onto && + git log -g --format=%gs -3 >actual && + cat >expect <<-\EOF && + rebase finished: returning to refs/heads/reflog-topic + rebase: reflog-to-rebase + rebase: checkout reflog-onto + EOF + test_cmp expect actual && + + git checkout -b reflog-prefix reflog-to-rebase && + GIT_REFLOG_ACTION=change-the-reflog git rebase reflog-onto && + git log -g --format=%gs -3 >actual && + cat >expect <<-\EOF && + rebase finished: returning to refs/heads/reflog-prefix + change-the-reflog: reflog-to-rebase + change-the-reflog: checkout reflog-onto + EOF + test_cmp expect actual +' + + test_expect_success 'rebase -i onto unrelated history' ' + git init unrelated && + test_commit -C unrelated 1 && + git -C unrelated remote add -f origin "$PWD" && + git -C unrelated branch --set-upstream-to=origin/master && + git -C unrelated -c core.editor=true rebase -i -v --stat >actual && + test_i18ngrep "Changes to " actual && + test_i18ngrep "5 files changed" actual + ' + test_done