Code

revert: pass around rev-list args in already-parsed form
authorJonathan Nieder <jrnieder@gmail.com>
Sat, 13 Aug 2011 17:06:23 +0000 (12:06 -0500)
committerJunio C Hamano <gitster@pobox.com>
Mon, 12 Dec 2011 21:32:16 +0000 (13:32 -0800)
commit7f13334e074bb053eccd14787e416306bc4b413a
tree94de9095639d371cbbdb8862e13b848703e1174e
parent093a309136c38eca0ea2dd5da3c68b483443d113
revert: pass around rev-list args in already-parsed form

Since 7e2bfd3f (revert: allow cherry-picking more than one commit,
2010-07-02), the pick/revert machinery has kept track of the set of
commits to be cherry-picked or reverted using commit_argc and
commit_argv variables, storing the corresponding command-line
parameters.

Future callers as other commands are built in (am, rebase, sequencer)
may find it easier to pass rev-list options to this machinery in
already-parsed form.  Teach cmd_cherry_pick and cmd_revert to parse
the rev-list arguments in advance and pass the commit set to
pick_revisions() as a rev_info structure.

Original patch by Jonathan, tweaks and test from Ram.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Improved-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/revert.c
t/t3510-cherry-pick-sequence.sh