Browse Source

Merge branch 'jc/maint-rebase-am'

* jc/maint-rebase-am:
  rebase: do not munge commit log message

Conflicts:

	git-am.sh
maint
Junio C Hamano 17 years ago
parent
commit
8876046037
  1. 19
      git-am.sh
  2. 41
      t/t3408-rebase-multi-line.sh

19
git-am.sh

@ -327,11 +327,20 @@ do @@ -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


41
t/t3408-rebase-multi-line.sh

@ -0,0 +1,41 @@ @@ -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
Loading…
Cancel
Save