diff options
author | Junio C Hamano <junkio@cox.net> | 2005-08-07 15:51:09 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2005-08-09 23:38:50 -0700 |
commit | 4282c4fbddfeae3383c6c327e2ca98b25500ea31 (patch) | |
tree | 0d999918a638a97e65724117d7a2e12c0e665d8a /git-rebase-script | |
parent | 32173e69881a35e4e7a53be3ba80091ae9fa8f35 (diff) | |
download | git-4282c4fbddfeae3383c6c327e2ca98b25500ea31.tar.gz |
Teach format-patch, rebase and cherry a..b format
Although these commands take only begin and end, not necessarily
generic SHA1 expressions rev-parse supports, supporting a..b
notation is good for consistency. This commit adds such without
breaking backward compatibility.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'git-rebase-script')
-rwxr-xr-x | git-rebase-script | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/git-rebase-script b/git-rebase-script index 83289845ac..7779813d11 100755 --- a/git-rebase-script +++ b/git-rebase-script @@ -3,25 +3,32 @@ # Copyright (c) 2005 Junio C Hamano. # +. git-sh-setup-script || die "Not a git archive." + usage="usage: $0 "'<upstream> [<head>] Uses output from git-cherry to rebase local commits to the new head of upstream tree.' -: ${GIT_DIR=.git} +case "$#,$1" in +1,*..*) + upstream=$(expr "$1" : '\(.*\)\.\.') ours=$(expr "$1" : '.*\.\.\(.*\)$') + set x "$upstream" "$ours" + shift ;; +esac case "$#" in -1) linus=`git-rev-parse --verify "$1"` && - junio=`git-rev-parse --verify HEAD` || exit +1) upstream=`git-rev-parse --verify "$1"` && + ours=`git-rev-parse --verify HEAD` || exit ;; -2) linus=`git-rev-parse --verify "$1"` && - junio=`git-rev-parse --verify "$2"` || exit +2) upstream=`git-rev-parse --verify "$1"` && + ours=`git-rev-parse --verify "$2"` || exit ;; *) echo >&2 "$usage"; exit 1 ;; esac -git-read-tree -m -u $junio $linus && -echo "$linus" >"$GIT_DIR/HEAD" || exit +git-read-tree -m -u $ours $upstream && +echo "$upstream" >"$GIT_DIR/HEAD" || exit tmp=.rebase-tmp$$ fail=$tmp-fail @@ -29,7 +36,7 @@ trap "rm -rf $tmp-*" 0 1 2 3 15 >$fail -git-cherry $linus $junio | +git-cherry $upstream $ours | while read sign commit do case "$sign" in |