git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Johannes Schindelin <Johannes.Schindelin@gmx.de>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org, Kevin Daudt <me@ikke.info>,
	Dennis Kaarsemaker <dennis@kaarsemaker.net>
Subject: Re: [PATCH v2 14/34] sequencer (rebase -i): update refs after a successful rebase
Date: Mon, 19 Dec 2016 18:33:05 +0100 (CET)	[thread overview]
Message-ID: <alpine.DEB.2.20.1612191832450.54750@virtualbox> (raw)
In-Reply-To: <xmqq8trfsmvr.fsf@gitster.mtv.corp.google.com>

Hi Junio,

On Fri, 16 Dec 2016, Junio C Hamano wrote:

> Johannes Schindelin <johannes.schindelin@gmx.de> writes:
> 
> > An interactive rebase operates on a detached HEAD (to keep the reflog
> > of the original branch relatively clean), and updates the branch only
> > at the end.
> >
> > Now that the sequencer learns to perform interactive rebases, it also
> > needs to learn the trick to update the branch before removing the
> > directory containing the state of the interactive rebase.
> >
> > We introduce a new head_ref variable in a wider scope than necessary at
> > the moment, to allow for a later patch that prints out "Successfully
> > rebased and updated <ref>".
> >
> > Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> > ---
> >  sequencer.c | 32 +++++++++++++++++++++++++++++++-
> >  1 file changed, 31 insertions(+), 1 deletion(-)
> >
> > diff --git a/sequencer.c b/sequencer.c
> > index a6625e765d..a4e9b326ba 100644
> > --- a/sequencer.c
> > +++ b/sequencer.c
> > @@ -100,6 +100,8 @@ static GIT_PATH_FUNC(rebase_path_stopped_sha, "rebase-merge/stopped-sha")
> >  static GIT_PATH_FUNC(rebase_path_gpg_sign_opt, "rebase-merge/gpg_sign_opt")
> >  static GIT_PATH_FUNC(rebase_path_orig_head, "rebase-merge/orig-head")
> >  static GIT_PATH_FUNC(rebase_path_verbose, "rebase-merge/verbose")
> > +static GIT_PATH_FUNC(rebase_path_head_name, "rebase-merge/head-name")
> > +static GIT_PATH_FUNC(rebase_path_onto, "rebase-merge/onto")
> >  
> >  static inline int is_rebase_i(const struct replay_opts *opts)
> >  {
> > @@ -1793,12 +1795,39 @@ static int pick_commits(struct todo_list *todo_list, struct replay_opts *opts)
> >  	}
> >  
> >  	if (is_rebase_i(opts)) {
> > -		struct strbuf buf = STRBUF_INIT;
> > +		struct strbuf head_ref = STRBUF_INIT, buf = STRBUF_INIT;
> >  
> >  		/* Stopped in the middle, as planned? */
> >  		if (todo_list->current < todo_list->nr)
> >  			return 0;
> >  
> > +		if (read_oneliner(&head_ref, rebase_path_head_name(), 0) &&
> > +				starts_with(head_ref.buf, "refs/")) {
> > +			unsigned char head[20], orig[20];
> > +
> > +			if (get_sha1("HEAD", head))
> > +				return error(_("cannot read HEAD"));
> > +			if (!read_oneliner(&buf, rebase_path_orig_head(), 0) ||
> > +					get_sha1_hex(buf.buf, orig))
> > +				return error(_("could not read orig-head"));
> > +			strbuf_addf(&buf, "rebase -i (finish): %s onto ",
> > +				head_ref.buf);
> > +			if (!read_oneliner(&buf, rebase_path_onto(), 0))
> > +				return error(_("could not read 'onto'"));
> > +			if (update_ref(buf.buf, head_ref.buf, head, orig,
> > +					REF_NODEREF, UPDATE_REFS_MSG_ON_ERR))
> > +				return error(_("could not update %s"),
> > +					head_ref.buf);
> > +			strbuf_reset(&buf);
> > +			strbuf_addf(&buf,
> > +				"rebase -i (finish): returning to %s",
> > +				head_ref.buf);
> > +			if (create_symref("HEAD", head_ref.buf, buf.buf))
> > +				return error(_("could not update HEAD to %s"),
> > +					head_ref.buf);
> 
> All of the above return error() calls leak head_ref.buf; in addition
> some leak buf.buf, too.

Thanks, fixed.

Ciao,
Dscho

  reply	other threads:[~2016-12-19 17:34 UTC|newest]

Thread overview: 212+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-31  8:53 [PATCH 00/34] Teach the sequencer to act as rebase -i's backend Johannes Schindelin
2016-08-31  8:54 ` [PATCH 01/34] sequencer: support a new action: 'interactive rebase' Johannes Schindelin
2016-09-02 21:13   ` Kevin Daudt
2016-09-03  6:57     ` Johannes Schindelin
2016-08-31  8:54 ` [PATCH 02/34] sequencer (rebase -i): implement the 'noop' command Johannes Schindelin
2016-08-31  8:54 ` [PATCH 03/34] sequencer (rebase -i): implement the 'edit' command Johannes Schindelin
2016-08-31  8:54 ` [PATCH 04/34] sequencer (rebase -i): implement the 'exec' command Johannes Schindelin
2016-08-31  8:54 ` [PATCH 05/34] sequencer (rebase -i): learn about the 'verbose' mode Johannes Schindelin
2016-08-31 18:39   ` Dennis Kaarsemaker
2016-08-31 20:36     ` Johannes Schindelin
2016-08-31  8:54 ` [PATCH 06/34] sequencer (rebase -i): write the 'done' file Johannes Schindelin
2016-08-31 18:39   ` Dennis Kaarsemaker
2016-09-01  8:51     ` Johannes Schindelin
2016-08-31  8:54 ` [PATCH 07/34] sequencer (rebase -i): add support for the 'fixup' and 'squash' commands Johannes Schindelin
2016-09-01  8:33   ` Dennis Kaarsemaker
2016-09-01 15:17     ` Johannes Schindelin
2016-09-01 16:19       ` Dennis Kaarsemaker
2016-09-02  7:13         ` Johannes Schindelin
2016-09-02 12:06           ` Dennis Kaarsemaker
2016-09-02 14:22             ` Johannes Schindelin
2016-09-02 17:04               ` Dennis Kaarsemaker
2016-09-01 18:15     ` Junio C Hamano
2016-09-02  7:15       ` Johannes Schindelin
2016-08-31  8:54 ` [PATCH 08/34] sequencer (rebase -i): implement the short commands Johannes Schindelin
2016-08-31  8:54 ` [PATCH 09/34] sequencer (rebase -i): write an author-script file Johannes Schindelin
2016-08-31  8:54 ` [PATCH 10/34] sequencer (rebase -i): allow continuing with staged changes Johannes Schindelin
2016-08-31  8:54 ` [PATCH 11/34] sequencer (rebase -i): remove CHERRY_PICK_HEAD when no longer needed Johannes Schindelin
2016-08-31  8:55 ` [PATCH 12/34] sequencer (rebase -i): skip some revert/cherry-pick specific code path Johannes Schindelin
2016-08-31  8:55 ` [PATCH 13/34] sequencer (rebase -i): the todo can be empty when continuing Johannes Schindelin
2016-08-31  8:55 ` [PATCH 14/34] sequencer (rebase -i): update refs after a successful rebase Johannes Schindelin
2016-08-31  8:55 ` [PATCH 15/34] sequencer (rebase -i): leave a patch upon error Johannes Schindelin
2016-08-31 18:39   ` Dennis Kaarsemaker
2016-09-01 13:03     ` Johannes Schindelin
2016-08-31  8:55 ` [PATCH 16/34] sequencer (rebase -i): implement the 'reword' command Johannes Schindelin
2016-08-31  8:55 ` [PATCH 17/34] sequencer (rebase -i): allow fast-forwarding for edit/reword Johannes Schindelin
2016-08-31  8:55 ` [PATCH 18/34] sequencer (rebase -i): refactor setting the reflog message Johannes Schindelin
2016-08-31  8:55 ` [PATCH 19/34] sequencer (rebase -i): set the reflog message consistently Johannes Schindelin
2016-08-31  8:55 ` [PATCH 20/34] sequencer (rebase -i): copy commit notes at end Johannes Schindelin
2016-09-01  7:20   ` Dennis Kaarsemaker
2016-09-01 14:57     ` Johannes Schindelin
2016-08-31  8:55 ` [PATCH 21/34] sequencer (rebase -i): record interrupted commits in rewritten, too Johannes Schindelin
2016-08-31  8:55 ` [PATCH 22/34] sequencer (rebase -i): run the post-rewrite hook, if needed Johannes Schindelin
2016-08-31  8:55 ` [PATCH 23/34] sequencer (rebase -i): respect the rebase.autostash setting Johannes Schindelin
2016-08-31  8:55 ` [PATCH 24/34] sequencer (rebase -i): respect strategy/strategy_opts settings Johannes Schindelin
2016-08-31  8:56 ` [PATCH 25/34] sequencer (rebase -i): allow rescheduling commands Johannes Schindelin
2016-08-31  8:56 ` [PATCH 26/34] sequencer (rebase -i): implement the 'drop' command Johannes Schindelin
2016-08-31  8:56 ` [PATCH 27/34] sequencer (rebase -i): differentiate between comments and 'noop' Johannes Schindelin
2016-09-01  8:33   ` Dennis Kaarsemaker
2016-09-01 15:32     ` Johannes Schindelin
2016-09-01 16:15       ` Dennis Kaarsemaker
2016-09-02  7:32         ` Johannes Schindelin
2016-08-31  8:56 ` [PATCH 28/34] run_command_opt(): optionally hide stderr when the command succeeds Johannes Schindelin
2016-08-31  8:56 ` [PATCH 29/34] sequencer (rebase -i): show only failed `git commit`'s output Johannes Schindelin
2016-08-31  8:56 ` [PATCH 30/34] sequencer (rebase -i): show only failed cherry-picks' output Johannes Schindelin
2016-08-31  8:56 ` [PATCH 31/34] sequencer (rebase -i): suggest --edit-todo upon unknown command Johannes Schindelin
2016-08-31  8:56 ` [PATCH 32/34] sequencer (rebase -i): show the progress Johannes Schindelin
2016-09-01  8:33   ` Dennis Kaarsemaker
2016-09-01 15:19     ` Johannes Schindelin
2016-08-31  8:56 ` [PATCH 33/34] sequencer (rebase -i): write the progress into files Johannes Schindelin
2016-08-31  8:56 ` [PATCH 34/34] sequencer (rebase -i): write out the final message Johannes Schindelin
2016-08-31 18:39 ` [PATCH 00/34] Teach the sequencer to act as rebase -i's backend Dennis Kaarsemaker
2016-09-01 13:05   ` Johannes Schindelin
2016-12-13 15:29 ` [PATCH v2 " Johannes Schindelin
2016-12-13 15:29   ` [PATCH v2 01/34] sequencer: support a new action: 'interactive rebase' Johannes Schindelin
2016-12-13 20:32     ` Junio C Hamano
2016-12-19 13:33       ` Johannes Schindelin
2016-12-14 19:29     ` Junio C Hamano
2016-12-17 20:23       ` Stephan Beyer
2016-12-19 14:25         ` Johannes Schindelin
2016-12-19 21:27           ` Stephan Beyer
2016-12-13 15:29   ` [PATCH v2 02/34] sequencer (rebase -i): implement the 'noop' command Johannes Schindelin
2016-12-13 20:38     ` Junio C Hamano
2016-12-13 20:48       ` Linus Torvalds
2016-12-13 21:54         ` Junio C Hamano
2016-12-19 12:51           ` Johannes Schindelin
2016-12-19 18:31             ` Junio C Hamano
2016-12-19 13:37       ` Johannes Schindelin
2016-12-13 15:29   ` [PATCH v2 03/34] sequencer (rebase -i): implement the 'edit' command Johannes Schindelin
2016-12-13 21:30     ` Junio C Hamano
2016-12-19 13:46       ` Johannes Schindelin
2016-12-19 18:47         ` Junio C Hamano
2016-12-19 18:48         ` Junio C Hamano
2016-12-13 15:29   ` [PATCH v2 04/34] sequencer (rebase -i): implement the 'exec' command Johannes Schindelin
2016-12-13 21:35     ` Junio C Hamano
2016-12-19 14:06       ` Johannes Schindelin
2016-12-13 15:29   ` [PATCH v2 05/34] sequencer (rebase -i): learn about the 'verbose' mode Johannes Schindelin
2016-12-13 21:51     ` Junio C Hamano
2016-12-14  6:59       ` Junio C Hamano
2017-01-02 15:11       ` Johannes Schindelin
2017-01-07 21:48         ` Junio C Hamano
2017-01-08  1:57           ` Junio C Hamano
2016-12-13 15:29   ` [PATCH v2 06/34] sequencer (rebase -i): write the 'done' file Johannes Schindelin
2016-12-13 21:52     ` Junio C Hamano
2016-12-13 15:30   ` [PATCH v2 07/34] sequencer (rebase -i): add support for the 'fixup' and 'squash' commands Johannes Schindelin
2016-12-15 18:42     ` Junio C Hamano
2016-12-15 18:56       ` Jeff King
2016-12-19 16:59         ` Johannes Schindelin
2016-12-19 17:19           ` Jeff King
2016-12-19 16:58       ` Johannes Schindelin
2016-12-15 19:03     ` Jeff King
2016-12-15 19:07       ` Stefan Beller
2016-12-15 19:20         ` Jeff King
2016-12-15 19:27           ` Stefan Beller
2016-12-19 17:14       ` Johannes Schindelin
2016-12-13 15:30   ` [PATCH v2 08/34] sequencer (rebase -i): implement the short commands Johannes Schindelin
2016-12-15 18:43     ` Junio C Hamano
2016-12-13 15:30   ` [PATCH v2 09/34] sequencer (rebase -i): write an author-script file Johannes Schindelin
2016-12-15 18:50     ` Junio C Hamano
2016-12-19 17:06       ` Johannes Schindelin
2016-12-20  1:32         ` Junio C Hamano
2016-12-20 23:46           ` Junio C Hamano
2016-12-13 15:30   ` [PATCH v2 10/34] sequencer (rebase -i): allow continuing with staged changes Johannes Schindelin
2016-12-15 19:08     ` Junio C Hamano
2016-12-13 15:30   ` [PATCH v2 11/34] sequencer (rebase -i): remove CHERRY_PICK_HEAD when no longer needed Johannes Schindelin
2016-12-16 19:13     ` Junio C Hamano
2016-12-19 17:22       ` Johannes Schindelin
2016-12-13 15:30   ` [PATCH v2 12/34] sequencer (rebase -i): skip some revert/cherry-pick specific code path Johannes Schindelin
2016-12-13 15:30   ` [PATCH v2 13/34] sequencer (rebase -i): the todo can be empty when continuing Johannes Schindelin
2016-12-13 15:30   ` [PATCH v2 14/34] sequencer (rebase -i): update refs after a successful rebase Johannes Schindelin
2016-12-16 19:19     ` Junio C Hamano
2016-12-19 17:33       ` Johannes Schindelin [this message]
2016-12-13 15:31   ` [PATCH v2 15/34] sequencer (rebase -i): leave a patch upon error Johannes Schindelin
2016-12-16 19:23     ` Junio C Hamano
2016-12-13 15:31   ` [PATCH v2 16/34] sequencer (rebase -i): implement the 'reword' command Johannes Schindelin
2016-12-13 15:31   ` [PATCH v2 17/34] sequencer (rebase -i): allow fast-forwarding for edit/reword Johannes Schindelin
2016-12-13 15:31   ` [PATCH v2 18/34] sequencer (rebase -i): refactor setting the reflog message Johannes Schindelin
2016-12-16 19:28     ` Junio C Hamano
2016-12-13 15:31   ` [PATCH v2 19/34] sequencer (rebase -i): set the reflog message consistently Johannes Schindelin
2016-12-13 15:31   ` [PATCH v2 20/34] sequencer (rebase -i): copy commit notes at end Johannes Schindelin
2016-12-16 19:38     ` Junio C Hamano
2017-01-02 14:51       ` Johannes Schindelin
2016-12-13 15:31   ` [PATCH v2 21/34] sequencer (rebase -i): record interrupted commits in rewritten, too Johannes Schindelin
2016-12-13 15:31   ` [PATCH v2 22/34] sequencer (rebase -i): run the post-rewrite hook, if needed Johannes Schindelin
2016-12-13 15:31   ` [PATCH v2 23/34] sequencer (rebase -i): respect the rebase.autostash setting Johannes Schindelin
2016-12-13 15:31   ` [PATCH v2 24/34] sequencer (rebase -i): respect strategy/strategy_opts settings Johannes Schindelin
2016-12-19 18:58     ` Junio C Hamano
2016-12-13 15:31   ` [PATCH v2 25/34] sequencer (rebase -i): allow rescheduling commands Johannes Schindelin
2016-12-13 15:31   ` [PATCH v2 26/34] sequencer (rebase -i): implement the 'drop' command Johannes Schindelin
2016-12-13 15:31   ` [PATCH v2 27/34] sequencer (rebase -i): differentiate between comments and 'noop' Johannes Schindelin
2016-12-19 19:04     ` Junio C Hamano
2016-12-13 15:32   ` [PATCH v2 28/34] run_command_opt(): optionally hide stderr when the command succeeds Johannes Schindelin
2016-12-14  8:34     ` Johannes Sixt
2016-12-14 12:53       ` Jeff King
2016-12-14 13:06         ` Jeff King
2016-12-14 19:17           ` Johannes Sixt
2017-01-02 14:38             ` Johannes Schindelin
2016-12-13 15:32   ` [PATCH v2 29/34] sequencer (rebase -i): show only failed `git commit`'s output Johannes Schindelin
2016-12-13 15:32   ` [PATCH v2 30/34] sequencer (rebase -i): show only failed cherry-picks' output Johannes Schindelin
2016-12-13 15:32   ` [PATCH v2 31/34] sequencer (rebase -i): suggest --edit-todo upon unknown command Johannes Schindelin
2016-12-13 15:32   ` [PATCH v2 32/34] sequencer (rebase -i): show the progress Johannes Schindelin
2016-12-19 19:18     ` Junio C Hamano
2016-12-13 15:32   ` [PATCH v2 33/34] sequencer (rebase -i): write the progress into files Johannes Schindelin
2016-12-13 15:32   ` [PATCH v2 34/34] sequencer (rebase -i): write out the final message Johannes Schindelin
2016-12-13 19:42   ` [PATCH v2 00/34] Teach the sequencer to act as rebase -i's backend Junio C Hamano
2016-12-19 13:05     ` Johannes Schindelin
2016-12-14  7:08   ` Johannes Sixt
2016-12-19 14:09     ` Johannes Schindelin
2017-01-02 15:25   ` [PATCH v3 00/38] " Johannes Schindelin
2017-01-02 15:26     ` [PATCH v3 01/38] sequencer: avoid unnecessary curly braces Johannes Schindelin
2017-01-12 18:35       ` Junio C Hamano
2017-01-14 17:57         ` Johannes Schindelin
2017-01-14 18:05           ` Jeff King
2017-01-16  4:10             ` Jacob Keller
2017-01-02 15:26     ` [PATCH v3 02/38] sequencer: move "else" keyword onto the same line as preceding brace Johannes Schindelin
2017-01-12 18:49       ` Junio C Hamano
2017-01-02 15:26     ` [PATCH v3 03/38] sequencer: use a helper to find the commit message Johannes Schindelin
2017-01-12 18:36       ` Junio C Hamano
2017-01-02 15:26     ` [PATCH v3 04/38] sequencer: support a new action: 'interactive rebase' Johannes Schindelin
2017-01-02 15:26     ` [PATCH v3 05/38] sequencer (rebase -i): implement the 'noop' command Johannes Schindelin
2017-01-02 15:26     ` [PATCH v3 06/38] sequencer (rebase -i): implement the 'edit' command Johannes Schindelin
2017-01-12 19:00       ` Junio C Hamano
2017-01-14 17:56         ` Johannes Schindelin
2017-01-02 15:26     ` [PATCH v3 07/38] sequencer (rebase -i): implement the 'exec' command Johannes Schindelin
2017-01-02 15:26     ` [PATCH v3 08/38] sequencer (rebase -i): learn about the 'verbose' mode Johannes Schindelin
2017-01-02 15:27     ` [PATCH v3 09/38] sequencer (rebase -i): write the 'done' file Johannes Schindelin
2017-01-02 15:27     ` [PATCH v3 10/38] sequencer (rebase -i): add support for the 'fixup' and 'squash' commands Johannes Schindelin
2017-01-02 15:27     ` [PATCH v3 11/38] sequencer (rebase -i): implement the short commands Johannes Schindelin
2017-01-02 15:27     ` [PATCH v3 12/38] sequencer (rebase -i): write an author-script file Johannes Schindelin
2017-01-02 15:27     ` [PATCH v3 13/38] sequencer (rebase -i): allow continuing with staged changes Johannes Schindelin
2017-01-02 15:27     ` [PATCH v3 14/38] sequencer (rebase -i): remove CHERRY_PICK_HEAD when no longer needed Johannes Schindelin
2017-01-02 15:27     ` [PATCH v3 15/38] sequencer (rebase -i): skip some revert/cherry-pick specific code path Johannes Schindelin
2017-01-02 15:27     ` [PATCH v3 16/38] sequencer (rebase -i): the todo can be empty when continuing Johannes Schindelin
2017-01-02 15:27     ` [PATCH v3 17/38] sequencer (rebase -i): update refs after a successful rebase Johannes Schindelin
2017-01-02 15:27     ` [PATCH v3 18/38] sequencer (rebase -i): leave a patch upon error Johannes Schindelin
2017-01-02 15:28     ` [PATCH v3 19/38] sequencer (rebase -i): implement the 'reword' command Johannes Schindelin
2017-01-02 15:28     ` [PATCH v3 20/38] sequencer (rebase -i): allow fast-forwarding for edit/reword Johannes Schindelin
2017-01-02 15:28     ` [PATCH v3 21/38] sequencer (rebase -i): refactor setting the reflog message Johannes Schindelin
2017-01-02 15:28     ` [PATCH v3 22/38] sequencer (rebase -i): set the reflog message consistently Johannes Schindelin
2017-01-02 15:28     ` [PATCH v3 23/38] sequencer (rebase -i): copy commit notes at end Johannes Schindelin
2017-01-02 15:28     ` [PATCH v3 24/38] sequencer (rebase -i): record interrupted commits in rewritten, too Johannes Schindelin
2017-01-02 15:28     ` [PATCH v3 25/38] sequencer (rebase -i): run the post-rewrite hook, if needed Johannes Schindelin
2017-01-02 15:28     ` [PATCH v3 26/38] sequencer (rebase -i): respect the rebase.autostash setting Johannes Schindelin
2017-01-02 15:28     ` [PATCH v3 27/38] sequencer (rebase -i): respect strategy/strategy_opts settings Johannes Schindelin
2017-01-02 15:28     ` [PATCH v3 28/38] sequencer (rebase -i): allow rescheduling commands Johannes Schindelin
2017-01-02 15:34     ` [PATCH v3 29/38] sequencer (rebase -i): implement the 'drop' command Johannes Schindelin
2017-01-02 15:34     ` [PATCH v3 30/38] sequencer (rebase -i): differentiate between comments and 'noop' Johannes Schindelin
2017-01-02 15:35     ` [PATCH v3 31/38] sequencer: make reading author-script more elegant Johannes Schindelin
2017-01-02 15:35     ` [PATCH v3 32/38] sequencer: use run_command() directly Johannes Schindelin
2017-01-02 15:35     ` [PATCH v3 33/38] sequencer (rebase -i): show only failed `git commit`'s output Johannes Schindelin
2017-01-02 15:35     ` [PATCH v3 34/38] sequencer (rebase -i): show only failed cherry-picks' output Johannes Schindelin
2017-01-02 15:35     ` [PATCH v3 35/38] sequencer (rebase -i): suggest --edit-todo upon unknown command Johannes Schindelin
2017-01-02 15:35     ` [PATCH v3 36/38] sequencer (rebase -i): show the progress Johannes Schindelin
2017-01-02 15:36     ` [PATCH v3 37/38] sequencer (rebase -i): write the progress into files Johannes Schindelin
2017-01-02 15:36     ` [PATCH v3 38/38] sequencer (rebase -i): write out the final message Johannes Schindelin
2017-01-09 22:26     ` [PATCH v3 00/38] Teach the sequencer to act as rebase -i's backend Junio C Hamano
2017-01-09 23:02       ` Junio C Hamano
2017-01-14 18:04       ` Johannes Schindelin
2017-01-15  2:50         ` Junio C Hamano
2017-01-14 18:08       ` Johannes Schindelin
2017-01-15  7:47         ` Junio C Hamano
2017-01-16 10:45           ` Johannes Schindelin
2017-01-17 19:50             ` 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

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.DEB.2.20.1612191832450.54750@virtualbox \
    --to=johannes.schindelin@gmx.de \
    --cc=dennis@kaarsemaker.net \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=me@ikke.info \
    /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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).