Thread (6 messages) flat view 6 messages, 2 authors, 2016-06-15
DORMANTno replies

[RFC PATCH] An option parser for the sequencer

From: Ramkumar Ramachandra <hidden>
Date: 2016-06-15 22:51:33

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help