summaryrefslogtreecommitdiff
path: root/git-rebase--interactive.sh
diff options
context:
space:
mode:
authorMichael Haggerty <mhagger@alum.mit.edu>2010-01-14 05:54:51 (GMT)
committerJunio C Hamano <gitster@pobox.com>2010-01-14 08:27:56 (GMT)
commitee0a4afbe2baeec2bfdf3d8e7abc77f24294298d (patch)
tree71ac570fcb75d134251d3f18dc5f1a69a73263c2 /git-rebase--interactive.sh
parentf99e269c44a7f07699a92c7e31d31ed93dafb409 (diff)
downloadgit-ee0a4afbe2baeec2bfdf3d8e7abc77f24294298d.zip
git-ee0a4afbe2baeec2bfdf3d8e7abc77f24294298d.tar.gz
git-ee0a4afbe2baeec2bfdf3d8e7abc77f24294298d.tar.bz2
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>
Diffstat (limited to 'git-rebase--interactive.sh')
-rwxr-xr-xgit-rebase--interactive.sh15
1 files changed, 10 insertions, 5 deletions
diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
index d60e059..1499a67 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
}