All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com>
Cc: git@vger.kernel.org, Christian Couder <chriscool@tuxfamily.org>
Subject: Re: [PATCH 2/4] revisions passed to cherry-pick should be in "default" order
Date: Wed, 15 Aug 2012 11:39:05 -0700	[thread overview]
Message-ID: <7vr4r857au.fsf@alter.siamese.dyndns.org> (raw)
In-Reply-To: <CAOeW2eFK+cKt9Tnh5oe74dU+f8rOOTaWk3KvE2rtUpgcOeDD7g@mail.gmail.com> (Martin von Zweigbergk's message of "Wed, 15 Aug 2012 11:22:18 -0700")

Martin von Zweigbergk <martin.von.zweigbergk@gmail.com> writes:

> Makes sense, I'll try to implement it that way. I was afraid that
> we would need to call prepare_revision_walk() once first and then
> if we afterwards find out that we should not walk, we would need
> to call it again without the reverse option.

> But after looking at
> how rev_info.reverse is used, it seem like it's only used in
> get_revision(), so we can leave it either on or off during the
> prepare_revision_walk() and the and set appropriately before
> calling get_revision(), like so:
>
>   init_revisions(&revs);
>   revs.no_walk = REVISION_WALK_NO_WALK_UNSORTED;
>   setup_revisions(...);
>   prepare_revision_walk(&revs);
>   revs.reverse = !revs.no_walk;

Sorry, but I do not understand why you frutz with "reverse" after
prepare, and not before.

I think you can just set no_walk and let setup_revisions() turn it
off upon seeing a range (this happens in add_pending_object()).
After setup_revisions() returns, if no_walk is still set, you only
got individual refs without ranges, so no reversing required.

You also need to be careful about "revert" that shares the code;
when reverting range A..C in your example, you want to undo C and
then B, and you do not want to reverse them.

  reply	other threads:[~2012-08-15 18:39 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-10 20:41 cherry-pick and 'log --no-walk' and ordering Martin von Zweigbergk
2012-08-10 21:38 ` Junio C Hamano
2012-08-11  5:34   ` Martin von Zweigbergk
2012-08-11  6:28     ` Junio C Hamano
2012-08-13  6:27       ` [PATCH 0/4] " y
2012-08-13  7:17         ` Junio C Hamano
2012-08-13  7:26           ` Junio C Hamano
2012-08-13 16:09           ` Martin von Zweigbergk
2012-08-13 17:05             ` Junio C Hamano
2012-08-13 18:28               ` Martin von Zweigbergk
2012-08-13 21:31                 ` Junio C Hamano
2012-08-13 22:01                   ` Martin von Zweigbergk
2012-08-29  6:15         ` [PATCH v2 0/3] revision (no-)walking in order Martin von Zweigbergk
2012-08-29  6:15           ` [PATCH v2 1/3] teach log --no-walk=unsorted, which avoids sorting Martin von Zweigbergk
2012-08-29 17:34             ` Dan Johnson
2012-08-29 17:42               ` Junio C Hamano
2012-08-29  6:15           ` [PATCH v2 2/3] demonstrate broken 'git cherry-pick three one two' Martin von Zweigbergk
2012-08-30 21:02             ` Junio C Hamano
2012-08-29  6:15           ` [PATCH v2 3/3] cherry-pick/revert: respect order of revisions to pick Martin von Zweigbergk
2012-08-29  6:46           ` [PATCH v2 0/3] revision (no-)walking in order Junio C Hamano
2012-08-29 16:20             ` [PATCH] Martin von Zweigbergk has a new e-mail address Martin von Zweigbergk
     [not found]       ` <1344839240-17402-1-git-send-email-y>
2012-08-13  6:27         ` [PATCH 1/4] teach log --no-walk=unsorted, which avoids sorting y
2012-08-13  6:27         ` [PATCH 2/4] revisions passed to cherry-pick should be in "default" order y
2012-08-13 20:05           ` Junio C Hamano
2012-08-13 20:50             ` Martin von Zweigbergk
2012-08-13 21:05               ` Junio C Hamano
2012-08-15  6:05                 ` Martin von Zweigbergk
2012-08-15 17:16                   ` Junio C Hamano
2012-08-15 18:22                     ` Martin von Zweigbergk
2012-08-15 18:39                       ` Junio C Hamano [this message]
2012-08-15 20:50                         ` Martin von Zweigbergk
2012-08-13 20:10           ` Martin von Zweigbergk
2012-08-13 20:52             ` Junio C Hamano
2012-08-13  6:27         ` [PATCH 3/4] cherry-pick/revert: respect order of revisions to pick y
2012-08-13  6:27         ` [PATCH 4/4] cherry-pick/revert: default to topological sorting y
2012-08-13 20:23           ` Junio C Hamano
2012-08-13 21:50             ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7vr4r857au.fsf@alter.siamese.dyndns.org \
    --to=gitster@pobox.com \
    --cc=chriscool@tuxfamily.org \
    --cc=git@vger.kernel.org \
    --cc=martin.von.zweigbergk@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.