git-commit: allow From: line to be entered in commit message
- From
sean <seanlkml@sympatico.ca>
- Date
- Jan 12, 2006, 14:37 UTC
- Message-ID
- <BAYC1-PASMTP117A18814EAAFACFE0F31DAE270@CEZ.ICE>
Mostly just for comment to see if there is any support for this feature....
Sean
--- Use the author name and email information given as the first line of the commit message in the form of:
From: name <email>
as the author's name and email address in the resulting commit object. This makes committing foreign patches a little less cumbersome to handle for some workflows.
diff --git a/git-commit.sh b/git-commit.sh index 193feeb..6004cd4 100755 --- a/git-commit.sh +++ b/git-commit.sh @@ -219,7 +219,7 @@ t) fi esac -grep -v '^#' < "$GIT_DIR"/COMMIT_EDITMSG | +grep -v '^#' < "$GIT_DIR"/COMMIT_EDITMSG | sed -e '1s/^[ \t]*from:.*//I' | git-stripspace > "$GIT_DIR"/COMMIT_MSG if cnt=`grep -v -i '^Signed-off-by' "$GIT_DIR"/COMMIT_MSG | @@ -227,6 +227,13 @@ if cnt=`grep -v -i '^Signed-off-by' "$GI wc -l` && test 0 -lt $cnt then + FROM=$(grep -v '^#' < "$GIT_DIR"/COMMIT_EDITMSG | sed -ne '1s/from:[ \t]*\(.*\)/\1/Ip;q') + NAME=$(echo "$FROM" | sed -e 's/<.*//;s/[ \t]*$//') + EMAIL=$(echo "$FROM" | sed -e 's/.*<\(.*\)>.*/\1/') + if test -n "$FROM"; then + export GIT_AUTHOR_NAME="$NAME" + export GIT_AUTHOR_EMAIL="$EMAIL" + fi tree=$(git-write-tree) && commit=$(cat "$GIT_DIR"/COMMIT_MSG | git-commit-tree $tree $PARENTS) && git-update-ref HEAD $commit $current &&