[RFC PATCH] An option parser for the sequencer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I've decided not to support arbitrary command-line options in the
instruction sheet.  A typical instruction sheet will looks like this
(inspired heavily by the rebase -i instruction sheet format):

pick 3b36854 t: add tests for cloning remotes with detached HEAD
pick 61adfd3 consider only branches in guess_remote_head
pick 8537f0e submodule add: test failure when url is not configured in superproject
pick 4d68932 submodule add: allow relative repository path even when no url is set
pick f22a17e submodule add: clean up duplicated code
pick 59a5775 make copy_ref globally available
pick c1921c1 clone: always fetch remote HEAD

For persisting one set of options for every "git cherry-pick"/ "git
revert" invocation, I've decided to use a simple "key = value" format
and put it in .git/sequencer/opts (to sit beside .git/sequencer/head
and .git/sequencer/todo).  For strategy-option, I thought it would be
cute to separate the various options using ' | '.  So, it'll look
something like this in the end:

signoff = true
mainline = 1
strategy-option = recursive | ours

The implementation is a little rough around the edges, but I'm pretty
happy with the overall design: it looks like a scaled-down version of
parse-options.  Quite a lot of context is missing (where did
sequencer.h come from?!), but I hope it's clear enough to convey the
idea.

Thanks for reading.

Ramkumar Ramachandra (1):
  revert: Persist per-session opts

 builtin/revert.c |  143 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 sequencer.h      |    8 +++
 2 files changed, 151 insertions(+), 0 deletions(-)

-- 
1.7.5.GIT

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]