Skip to content

Commit

Permalink
Merge branch 'jc/maint-rebase-am' into maint
Browse files Browse the repository at this point in the history
* jc/maint-rebase-am:
  rebase: do not munge commit log message

Conflicts:

	git-am.sh
  • Loading branch information
Junio C Hamano committed Apr 20, 2008
2 parents 5634cf2 + 5e835ca commit 41a3e3a
Show file tree
Hide file tree
Showing 2 changed files with 55 additions and 5 deletions.
19 changes: 14 additions & 5 deletions git-am.sh
Original file line number Diff line number Diff line change
Expand Up @@ -327,11 +327,20 @@ do
echo "Patch is empty. Was it split wrong?"
stop_here $this
}
SUBJECT="$(sed -n '/^Subject/ s/Subject: //p' "$dotest/info")"
case "$keep_subject" in -k) SUBJECT="[PATCH] $SUBJECT" ;; esac

(printf '%s\n\n' "$SUBJECT"; cat "$dotest/msg") |
git stripspace > "$dotest/msg-clean"
if test -f "$dotest/rebasing" &&
commit=$(sed -e 's/^From \([0-9a-f]*\) .*/\1/' \
-e q "$dotest/$msgnum") &&
test "$(git cat-file -t "$commit")" = commit
then
git cat-file commit "$commit" |
sed -e '1,/^$/d' >"$dotest/msg-clean"
else
SUBJECT="$(sed -n '/^Subject/ s/Subject: //p' "$dotest/info")"
case "$keep_subject" in -k) SUBJECT="[PATCH] $SUBJECT" ;; esac

(printf '%s\n\n' "$SUBJECT"; cat "$dotest/msg") |
git stripspace > "$dotest/msg-clean"
fi
;;
esac

Expand Down
41 changes: 41 additions & 0 deletions t/t3408-rebase-multi-line.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#!/bin/sh

test_description='rebasing a commit with multi-line first paragraph.'

. ./test-lib.sh

test_expect_success setup '
>file &&
git add file &&
test_tick &&
git commit -m initial &&
echo hello >file &&
test_tick &&
git commit -a -m "A sample commit log message that has a long
summary that spills over multiple lines.
But otherwise with a sane description."
git branch side &&
git reset --hard HEAD^ &&
>elif &&
git add elif &&
test_tick &&
git commit -m second
'

test_expect_success rebase '
git checkout side &&
git rebase master &&
git cat-file commit HEAD | sed -e "1,/^$/d" >actual &&
git cat-file commit side@{1} | sed -e "1,/^$/d" >expect &&
test_cmp expect actual
'

test_done

0 comments on commit 41a3e3a

Please sign in to comment.