diff options
author | Michael Haggerty <mhagger@alum.mit.edu> | 2010-01-14 08:54:51 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-01-14 11:27:56 +0300 |
commit | ee0a4afbe2baeec2bfdf3d8e7abc77f24294298d (patch) | |
tree | 71ac570fcb75d134251d3f18dc5f1a69a73263c2 | |
parent | f99e269c44a7f07699a92c7e31d31ed93dafb409 (diff) |
rebase -i: Extract a function "commit_message"
...instead of repeating the same short but slightly obscure blob of
code in several places.
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-x | git-rebase--interactive.sh | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh index d60e059838..1499a67bba 100755 --- a/git-rebase--interactive.sh +++ b/git-rebase--interactive.sh @@ -118,6 +118,11 @@ output () { esac } +# Output the commit message for the specified commit. +commit_message () { + git cat-file commit "$1" | sed "1,/^$/d" +} + run_pre_rebase_hook () { if test -z "$OK_TO_SKIP_PRE_REBASE" && test -x "$GIT_DIR/hooks/pre-rebase" @@ -178,7 +183,7 @@ make_patch () { ;; esac > "$DOTEST"/patch test -f "$MSG" || - git cat-file commit "$1" | sed "1,/^$/d" > "$MSG" + commit_message "$1" > "$MSG" test -f "$AUTHOR_SCRIPT" || get_author_ident_from_commit "$1" > "$AUTHOR_SCRIPT" } @@ -316,7 +321,7 @@ pick_one_preserving_merges () { # redo merge author_script=$(get_author_ident_from_commit $sha1) eval "$author_script" - msg="$(git cat-file commit $sha1 | sed -e '1,/^$/d')" + msg="$(commit_message $sha1)" # No point in merging the first parent, that's HEAD new_parents=${new_parents# $first_parent} if ! GIT_AUTHOR_NAME="$GIT_AUTHOR_NAME" \ @@ -361,20 +366,20 @@ make_squash_message () { echo "# This is a combination of 2 commits." echo "# The first commit's message is:" echo - git cat-file commit HEAD | sed -e '1,/^$/d' + commit_message HEAD fi case $1 in squash) echo echo "# This is the $(nth_string $COUNT) commit message:" echo - git cat-file commit $2 | sed -e '1,/^$/d' + commit_message $2 ;; fixup) echo echo "# The $(nth_string $COUNT) commit message will be skipped:" echo - git cat-file commit $2 | sed -e '1,/^$/d' -e 's/^/# /' + commit_message $2 | sed -e 's/^/# /' ;; esac } |