-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
rebase -m: Fix incorrect short-logs of already applied commits.
When a topic branch is rebased, some of whose commits are already cherry-picked upstream: o--X--A--B--Y <- master \ A--B--Z <- topic then 'git rebase -m master' would report: Already applied: 0001 Y Already applied: 0002 Y With this fix it reports the expected: Already applied: 0001 A Already applied: 0002 B As an added bonus, this change also avoids 'echo' of a commit message, which might contain escapements. Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Junio C Hamano <gitster@pobox.com>
- Loading branch information
Johannes Sixt
authored and
Junio C Hamano
committed
Sep 1, 2007
1 parent
aecbf91
commit 7afa845
Showing
2 changed files
with
52 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
#!/bin/sh | ||
|
||
test_description='messages from rebase operation' | ||
|
||
. ./test-lib.sh | ||
|
||
quick_one () { | ||
echo "$1" >"file$1" && | ||
git add "file$1" && | ||
test_tick && | ||
git commit -m "$1" | ||
} | ||
|
||
test_expect_success setup ' | ||
quick_one O && | ||
git branch topic && | ||
quick_one X && | ||
quick_one A && | ||
quick_one B && | ||
quick_one Y && | ||
git checkout topic && | ||
quick_one A && | ||
quick_one B && | ||
quick_one Z | ||
' | ||
|
||
cat >expect <<\EOF | ||
Already applied: 0001 A | ||
Already applied: 0002 B | ||
Committed: 0003 Z | ||
EOF | ||
|
||
test_expect_success 'rebase -m' ' | ||
git rebase -m master >report && | ||
sed -n -e "/^Already applied: /p" \ | ||
-e "/^Committed: /p" report >actual && | ||
diff -u expect actual | ||
' | ||
|
||
test_done |