diff options
author | Junio C Hamano <gitster@pobox.com> | 2007-07-02 01:45:47 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2007-07-02 01:45:47 -0700 |
commit | f36db549057f09dd390d712fa2d72dd2599feba6 (patch) | |
tree | 3f58a55fe4761614cf358090cd57ac5037302fd0 /git-sh-setup.sh | |
parent | e1bc8dc66dd5a2ef8b23c6b7cac8164d85e73307 (diff) | |
parent | f09c9b8c5ff9d8a15499b09ccd6c3e7b3c76af77 (diff) | |
download | git-f36db549057f09dd390d712fa2d72dd2599feba6.tar.gz |
Merge branch 'js/rebase'
* js/rebase:
Teach rebase -i about --preserve-merges
rebase -i: provide reasonable reflog for the rebased branch
rebase -i: several cleanups
ignore git-rebase--interactive
Teach rebase an interactive mode
Move the pick_author code to git-sh-setup
Diffstat (limited to 'git-sh-setup.sh')
-rwxr-xr-x | git-sh-setup.sh | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/git-sh-setup.sh b/git-sh-setup.sh index 0de49e8459..98959600eb 100755 --- a/git-sh-setup.sh +++ b/git-sh-setup.sh @@ -49,6 +49,33 @@ require_work_tree () { die "fatal: $0 cannot be used without a working tree." } +get_author_ident_from_commit () { + pick_author_script=' + /^author /{ + s/'\''/'\''\\'\'\''/g + h + s/^author \([^<]*\) <[^>]*> .*$/\1/ + s/'\''/'\''\'\'\''/g + s/.*/GIT_AUTHOR_NAME='\''&'\''/p + + g + s/^author [^<]* <\([^>]*\)> .*$/\1/ + s/'\''/'\''\'\'\''/g + s/.*/GIT_AUTHOR_EMAIL='\''&'\''/p + + g + s/^author [^<]* <[^>]*> \(.*\)$/\1/ + s/'\''/'\''\'\'\''/g + s/.*/GIT_AUTHOR_DATE='\''&'\''/p + + q + } + ' + encoding=$(git config i18n.commitencoding || echo UTF-8) + git show -s --pretty=raw --encoding="$encoding" "$1" | + LANG=C LC_ALL=C sed -ne "$pick_author_script" +} + if [ -z "$LONG_USAGE" ] then LONG_USAGE="Usage: $0 $USAGE" |