summaryrefslogtreecommitdiff
path: root/sequencer.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2012-09-14 21:24:18 -0700
committerJunio C Hamano <gitster@pobox.com>2012-09-14 21:24:18 -0700
commit78ed88d80a8cc9e2388ebe7631d71253e1d55aab (patch)
tree060b4e8f75accc932befb149c66bc8e4fa0bd6e5 /sequencer.c
parentc336bc104c47cc9c2f7caf6bce468fe00a8f6850 (diff)
parenta73e22e96350c9bcb5c0e31e0298ce67bec0a527 (diff)
downloadgit-78ed88d80a8cc9e2388ebe7631d71253e1d55aab.tar.gz
Merge branch 'mz/cherry-pick-cmdline-order' into maint
* mz/cherry-pick-cmdline-order: cherry-pick/revert: respect order of revisions to pick demonstrate broken 'git cherry-pick three one two' teach log --no-walk=unsorted, which avoids sorting
Diffstat (limited to 'sequencer.c')
-rw-r--r--sequencer.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sequencer.c b/sequencer.c
index bf078f274b..bd626806d6 100644
--- a/sequencer.c
+++ b/sequencer.c
@@ -543,7 +543,11 @@ static int do_pick_commit(struct commit *commit, struct replay_opts *opts)
static void prepare_revs(struct replay_opts *opts)
{
- if (opts->action != REPLAY_REVERT)
+ /*
+ * picking (but not reverting) ranges (but not individual revisions)
+ * should be done in reverse
+ */
+ if (opts->action == REPLAY_PICK && !opts->revs->no_walk)
opts->revs->reverse ^= 1;
if (prepare_revision_walk(opts->revs))