From: Uwe Kleine-König Date: Wed, 14 Jan 2009 20:26:18 +0000 (+0100) Subject: [TOPGIT] make creating a commit from a topgit branch a function X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=topgit.git;a=commitdiff_plain;h=98350275babd803daa635a2e8529feaa5e3e3c9e [TOPGIT] make creating a commit from a topgit branch a function This helps avoiding code duplication for the next commit. Signed-off-by: Uwe Kleine-König --- diff --git a/tg-export.sh b/tg-export.sh index 9e6940f..dea24d9 100644 --- a/tg-export.sh +++ b/tg-export.sh @@ -71,14 +71,11 @@ pretty_tree() git write-tree) } -# collapsed_commit NAME -# Produce a collapsed commit of branch NAME. -collapsed_commit() +create_tg_commit() { name="$1" - - rm -f "$playground/^pre" "$playground/^post" - >"$playground/^body" + tree="$2" + parent="$3" # Get commit message and authorship information git cat-file blob "$name:.topmsg" | git mailinfo "$playground/^msg" /dev/null > "$playground/^info" @@ -92,6 +89,20 @@ collapsed_commit() test -n "$GIT_AUTHOR_EMAIL" && export GIT_AUTHOR_EMAIL test -n "$GIT_AUTHOR_DATE" && export GIT_AUTHOR_DATE + (printf '%s\n\n' "$SUBJECT"; cat "$playground/^msg") | + git stripspace | + git commit-tree "$tree" -p "$parent" +} + +# collapsed_commit NAME +# Produce a collapsed commit of branch NAME. +collapsed_commit() +{ + name="$1" + + rm -f "$playground/^pre" "$playground/^post" + >"$playground/^body" + # Determine parent parent="$(cut -f 1 "$playground/$name^parents")" if [ "$(cat "$playground/$name^parents" | wc -l)" -gt 1 ]; then @@ -107,9 +118,7 @@ collapsed_commit() if branch_empty "$name"; then echo "$parent"; else - (printf '%s\n\n' "$SUBJECT"; cat "$playground/^msg") | - git stripspace | - git commit-tree "$(pretty_tree "$name")" -p "$parent" + create_tg_commit "$name" "$(pretty_tree $name)" "$parent" fi; echo "$name" >>"$playground/^ticker"