diff options
author | Yann Dirson <ydirson@altern.org> | 2006-01-08 01:40:33 +0100 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-01-08 00:54:30 -0800 |
commit | 77f1055ca7728d3ac1e7d3ce9f29c0c6d4f842c5 (patch) | |
tree | 57a39a2a03e16dfbd3781dee42571cdd1e3670d7 | |
parent | b21c31c9a5edfd90d6f85481517f979352da4eed (diff) | |
download | git-77f1055ca7728d3ac1e7d3ce9f29c0c6d4f842c5.tar.gz git-77f1055ca7728d3ac1e7d3ce9f29c0c6d4f842c5.tar.xz |
Add an optional limit to git-cherry
This allows to use another commit than the merge base as a limit for
scanning patches.
[jc: part about t3500 test omitted.]
Signed-off-by: Yann Dirson <ydirson@altern.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
-rwxr-xr-x | git-cherry.sh | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/git-cherry.sh b/git-cherry.sh index 5e9bd0caf..1a6232013 100755 --- a/git-cherry.sh +++ b/git-cherry.sh @@ -3,17 +3,17 @@ # Copyright (c) 2005 Junio C Hamano. # -USAGE='[-v] <upstream> [<head>]' +USAGE='[-v] <upstream> [<head>] [<limit>]' LONG_USAGE=' __*__*__*__*__> <upstream> / fork-point \__+__+__+__+__+__+__+__> <head> -Each commit between the fork-point and <head> is examined, and -compared against the change each commit between the fork-point and -<upstream> introduces. If the change seems to be in the upstream, -it is shown on the standard output with prefix "+". Otherwise -it is shown with prefix "-".' +Each commit between the fork-point (or <limit> if given) and <head> is +examined, and compared against the change each commit between the +fork-point and <upstream> introduces. If the change seems to be in +the upstream, it is shown on the standard output with prefix "+". +Otherwise it is shown with prefix "-".' . git-sh-setup case "$1" in -v) verbose=t; shift ;; esac @@ -28,9 +28,15 @@ esac case "$#" in 1) upstream=`git-rev-parse --verify "$1"` && ours=`git-rev-parse --verify HEAD` || exit + limit="$upstream" ;; 2) upstream=`git-rev-parse --verify "$1"` && ours=`git-rev-parse --verify "$2"` || exit + limit="$upstream" + ;; +3) upstream=`git-rev-parse --verify "$1"` && + ours=`git-rev-parse --verify "$2"` && + limit=`git-rev-parse --verify "$3"` || exit ;; *) usage ;; esac @@ -38,7 +44,7 @@ esac # Note that these list commits in reverse order; # not that the order in inup matters... inup=`git-rev-list ^$ours $upstream` && -ours=`git-rev-list $ours ^$upstream` || exit +ours=`git-rev-list $ours ^$limit` || exit tmp=.cherry-tmp$$ patch=$tmp-patch |