Skip to content

Commit

Permalink
Add an optional limit to git-cherry
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Yann Dirson authored and Junio C Hamano committed Jan 8, 2006
1 parent b21c31c commit 77f1055
Showing 1 changed file with 13 additions and 7 deletions.
20 changes: 13 additions & 7 deletions git-cherry.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -28,17 +28,23 @@ 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

# 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
Expand Down

0 comments on commit 77f1055

Please sign in to comment.