From: Junio C Hamano <gitster@pobox.com>
To: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Cc: "Git ML" <git@vger.kernel.org>,
"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Subject: Re: [PATCHv3] rebase: pass --[no-]signoff option to git am
Date: Sat, 15 Apr 2017 02:17:26 -0700 [thread overview]
Message-ID: <xmqqefwum3mh.fsf@gitster.mtv.corp.google.com> (raw)
In-Reply-To: <20170414225713.29710-1-giuseppe.bilotta@gmail.com> (Giuseppe Bilotta's message of "Sat, 15 Apr 2017 00:57:13 +0200")
Giuseppe Bilotta <giuseppe.bilotta@gmail.com> writes:
> This makes it easy to sign off a whole patchset before submission.
>
> To make things work, we also fix a design issue in git-am that made it
> ignore the signoff option during rebase (specifically, signoff was
> handled in parse_mail(), but not in parse_mail_rebasing()).
I doubt that the above implementation detail in the code is "a
design issue"; it is a logical consequence of a design whose
"rebase" never passes "--signoff" down to underlying "am", so it is
understandable that whoever wants to pass "--signoff" thru during
the rebase needs to update the implementation, but I do not think it
is fair to call that "an issue".
> Documentation/git-rebase.txt | 5 +++++
> builtin/am.c | 6 +++---
> git-rebase.sh | 3 ++-
> 3 files changed, 10 insertions(+), 4 deletions(-)
We need new tests for "git rebase --signoff" that makes sure this
works as expected and only when it should.
> diff --git a/builtin/am.c b/builtin/am.c
> index f7a7a971fb..d072027b5a 100644
> --- a/builtin/am.c
> +++ b/builtin/am.c
> @@ -1321,9 +1321,6 @@ static int parse_mail(struct am_state *state, const char *mail)
> strbuf_addbuf(&msg, &mi.log_message);
> strbuf_stripspace(&msg, 0);
>
> - if (state->signoff)
> - am_signoff(&msg);
> -
> assert(!state->author_name);
> state->author_name = strbuf_detach(&author_name, NULL);
>
> @@ -1848,6 +1845,9 @@ static void am_run(struct am_state *state, int resume)
> if (skip)
> goto next; /* mail should be skipped */
>
> + if (state->signoff)
> + am_append_signoff(state);
> +
> write_author_script(state);
> write_commit_msg(state);
> }
This removes the last direct caller to am_signoff(). It may be
worth considering to remove the function and move its body to its
only internal caller am_append_signoff().
next prev parent reply other threads:[~2017-04-15 9:17 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-14 22:57 [PATCHv3] rebase: pass --[no-]signoff option to git am Giuseppe Bilotta
2017-04-15 9:17 ` Junio C Hamano [this message]
2017-04-15 9:36 ` Giuseppe Bilotta
2017-04-15 10:03 ` 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=xmqqefwum3mh.fsf@gitster.mtv.corp.google.com \
--to=gitster@pobox.com \
--cc=avarab@gmail.com \
--cc=git@vger.kernel.org \
--cc=giuseppe.bilotta@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.