Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
Merge branch 'ph/rebase-preserve-all-merges'
author
Junio C Hamano
<gitster@pobox.com>
Tue, 22 Jan 2013 04:15:15 +0000
(20:15 -0800)
committer
Junio C Hamano
<gitster@pobox.com>
Tue, 22 Jan 2013 04:15:15 +0000
(20:15 -0800)
An earlier change to add --keep-empty option broke "git rebase
--preserve-merges" and lost merge commits that end up being the
same as its parent.
* ph/rebase-preserve-all-merges:
rebase --preserve-merges: keep all merge commits including empty ones
git-rebase--interactive.sh
patch
|
blob
|
history
raw
(from parent 1:
68434e2
)
diff --git
a/git-rebase--interactive.sh
b/git-rebase--interactive.sh
index 44901d53c43d972e03a71bfbe0b769f2e8f22d7b..8ed7fccc18507b6f3e2508bb117ce056a764de77 100644
(file)
--- a/
git-rebase--interactive.sh
+++ b/
git-rebase--interactive.sh
@@
-190,6
+190,11
@@
is_empty_commit() {
test "$tree" = "$ptree"
}
+is_merge_commit()
+{
+ git rev-parse --verify --quiet "$1"^2 >/dev/null 2>&1
+}
+
# Run command with GIT_AUTHOR_NAME, GIT_AUTHOR_EMAIL, and
# GIT_AUTHOR_DATE exported from the current environment.
do_with_author () {
@@
-874,7
+879,7
@@
git rev-list $merges_option --pretty=oneline --abbrev-commit \
while read -r shortsha1 rest
do
- if test -z "$keep_empty" && is_empty_commit $shortsha1
+ if test -z "$keep_empty" && is_empty_commit $shortsha1
&& ! is_merge_commit $shortsha1
then
comment_out="# "
else