summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xgit-sh-setup.sh2
-rw-r--r--revision.c1
-rwxr-xr-xt/t6007-rev-list-cherry-pick-file.sh14
3 files changed, 16 insertions, 1 deletions
diff --git a/git-sh-setup.sh b/git-sh-setup.sh
index 185c5c6c95..3c325fd133 100755
--- a/git-sh-setup.sh
+++ b/git-sh-setup.sh
@@ -6,7 +6,7 @@
# it dies.
# Having this variable in your environment would break scripts because
-# you would cause "cd" to be be taken to unexpected places. If you
+# you would cause "cd" to be taken to unexpected places. If you
# like CDPATH, define it for your interactive shell sessions without
# exporting it.
unset CDPATH
diff --git a/revision.c b/revision.c
index c193c3ea22..33d092c3c4 100644
--- a/revision.c
+++ b/revision.c
@@ -1024,6 +1024,7 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, const ch
}
if (!strcmp(arg, "--cherry-pick")) {
revs->cherry_pick = 1;
+ revs->limited = 1;
continue;
}
if (!strcmp(arg, "--objects")) {
diff --git a/t/t6007-rev-list-cherry-pick-file.sh b/t/t6007-rev-list-cherry-pick-file.sh
index 3faeae6c01..4b8611ce20 100755
--- a/t/t6007-rev-list-cherry-pick-file.sh
+++ b/t/t6007-rev-list-cherry-pick-file.sh
@@ -40,4 +40,18 @@ test_expect_success '--cherry-pick bar does not come up empty' '
! test -z "$(git rev-list --left-right --cherry-pick B...C -- bar)"
'
+test_expect_success '--cherry-pick with independent, but identical branches' '
+ git symbolic-ref HEAD refs/heads/independent &&
+ rm .git/index &&
+ echo Hallo > foo &&
+ git add foo &&
+ test_tick &&
+ git commit -m "independent" &&
+ echo Bello > foo &&
+ test_tick &&
+ git commit -m "independent, too" foo &&
+ test -z "$(git rev-list --left-right --cherry-pick \
+ HEAD...master -- foo)"
+'
+
test_done