Re: revision API design, was Re: [PATCH v4 02/10] rebase -i: generate the script via rebase--helper

2017-06-01 Thread Junio C Hamano
Junio C Hamano writes: > The current API to hide such an embarrasing but necessary > implementation details from the code that does not need to know > them, i.e. the consumer of rev-info structure with various settings, > is to invoke the command line parser. Bypassing and

Re: revision API design, was Re: [PATCH v4 02/10] rebase -i: generate the script via rebase--helper

2017-05-30 Thread Junio C Hamano
Johannes Schindelin writes: >> See 66b2ed09 ("Fix "log" family not to be too agressive about >> ... >> ask the existing command line parser to set them for you. > > This is a very eloquent description of a problem with the API. Yes, but ... > The correct suggestion

Re: [PATCH v4 02/10] rebase -i: generate the script via rebase--helper

2017-05-30 Thread liam Beguin
Hi Johannes, Johannes Schindelin writes: > The first step of an interactive rebase is to generate the so-called "todo > script", to be stored in the state directory as "git-rebase-todo" and to > be edited by the user. > > Originally, we adjusted the output of `git log

Re: [PATCH v4 02/10] rebase -i: generate the script via rebase--helper

2017-05-30 Thread liam Beguin
Hi Johannes, On 29/05/17 06:59 AM, Johannes Schindelin wrote: > Hi Liam, > > On Thu, 25 May 2017, Liam Beguin wrote: > >> Johannes Schindelin writes: >> >>> diff --git a/sequencer.c b/sequencer.c >>> index 130cc868e51..88819a1a2a9 100644 >>> --- a/sequencer.c >>>

revision API design, was Re: [PATCH v4 02/10] rebase -i: generate the script via rebase--helper

2017-05-30 Thread Johannes Schindelin
Hi Junio, On Tue, 30 May 2017, Junio C Hamano wrote: > We do not want these [revision API] implementation details to code that > does not implement command line parsing. This one is not parsing > anybody's set of options and should not be mucking with the low level > implementation details.

Re: [PATCH v4 02/10] rebase -i: generate the script via rebase--helper

2017-05-30 Thread Johannes Schindelin
Hi Junio, On Tue, 30 May 2017, Junio C Hamano wrote: > Johannes Schindelin writes: > > > You still ask me to pass options in plain text that has to be parsed at > > run-time, rather than compile-time-verifiable flags. > > Absolutely. In other words, you want me

Re: [PATCH v4 02/10] rebase -i: generate the script via rebase--helper

2017-05-29 Thread Junio C Hamano
Johannes Schindelin writes: > Hi Junio, > > On Mon, 29 May 2017, Junio C Hamano wrote: > >> Johannes Schindelin writes: >> >> > diff --git a/sequencer.c b/sequencer.c >> > index 130cc868e51..88819a1a2a9 100644 >> > --- a/sequencer.c >> >

Re: [PATCH v4 02/10] rebase -i: generate the script via rebase--helper

2017-05-29 Thread Johannes Schindelin
Hi Liam, On Thu, 25 May 2017, Liam Beguin wrote: > Johannes Schindelin writes: > > > diff --git a/sequencer.c b/sequencer.c > > index 130cc868e51..88819a1a2a9 100644 > > --- a/sequencer.c > > +++ b/sequencer.c > > @@ -2388,3 +2388,52 @@ void append_signoff(struct

Re: [PATCH v4 02/10] rebase -i: generate the script via rebase--helper

2017-05-29 Thread Johannes Schindelin
Hi Junio, On Mon, 29 May 2017, Junio C Hamano wrote: > Johannes Schindelin writes: > > > diff --git a/sequencer.c b/sequencer.c > > index 130cc868e51..88819a1a2a9 100644 > > --- a/sequencer.c > > +++ b/sequencer.c > > @@ -2388,3 +2388,52 @@ void

Re: [PATCH v4 02/10] rebase -i: generate the script via rebase--helper

2017-05-29 Thread Junio C Hamano
Johannes Schindelin writes: > diff --git a/sequencer.c b/sequencer.c > index 130cc868e51..88819a1a2a9 100644 > --- a/sequencer.c > +++ b/sequencer.c > @@ -2388,3 +2388,52 @@ void append_signoff(struct strbuf *msgbuf, int > ignore_footer, unsigned flag) > >

[PATCH v4 02/10] rebase -i: generate the script via rebase--helper

2017-05-25 Thread Liam Beguin
Hi Johannes, Johannes Schindelin writes: > The first step of an interactive rebase is to generate the so-called "todo > script", to be stored in the state directory as "git-rebase-todo" and to > be edited by the user. > > Originally, we adjusted the output of `git

[PATCH v4 02/10] rebase -i: generate the script via rebase--helper

2017-04-28 Thread Johannes Schindelin
The first step of an interactive rebase is to generate the so-called "todo script", to be stored in the state directory as "git-rebase-todo" and to be edited by the user. Originally, we adjusted the output of `git log ` using a simple sed script. Over the course of the years, the code became more