From: Phillip Wood <phillip.wood@talktalk.net>
To: Alban Gruin <alban.gruin@gmail.com>, git@vger.kernel.org
Cc: Johannes Schindelin <Johannes.Schindelin@gmx.de>,
Junio C Hamano <gitster@pobox.com>
Subject: Re: [PATCH v2 04/16] sequencer: introduce todo_list_write_to_file()
Date: Tue, 30 Oct 2018 16:28:53 +0000 [thread overview]
Message-ID: <03475c29-5317-b105-6102-5cae3a5ae926@talktalk.net> (raw)
In-Reply-To: <20181027212930.9303-5-alban.gruin@gmail.com>
Hi Alban
I like the direction this is going, it is an improvement on re-scanning
the list at the end of each function.
On 27/10/2018 22:29, Alban Gruin wrote:
> This introduce a new function to recreate the text of a todo list from
> its commands, and then to write it to the disk. This will be useful in
> the future, the buffer of a todo list won’t be treated as a strict
> mirror of the todo file by some of its functions once they will be
> refactored.
I'd suggest rewording this slightly, maybe something like
This introduces a new function to recreate the text of a todo list from
its commands and write it to a file. This will be useful as the next few
commits will change the use of the buffer in struct todo_list so it will
no-longer be a mirror of the file on disk.
> This functionnality can already be found in todo_list_transform(), but
s/functionnality/functionality/
> it is specifically made to replace the buffer of a todo list, which is
> not the desired behaviour. Thus, the part of todo_list_transform() that
> actually creates the buffer is moved to a new function,
> todo_list_to_strbuf(). The rest is unused, and so is dropped.
>
> todo_list_write_to_file() can also take care to append the help text to
s/care to append/care of appending/
> the buffer before writing it to the disk, or to write only the first n
> items of the list.
Why/when do we only want to write a subset of the items?
> Signed-off-by: Alban Gruin <alban.gruin@gmail.com>
> ---
> sequencer.c | 59 ++++++++++++++++++++++++++++++++++++-----------------
> sequencer.h | 4 +++-
> 2 files changed, 43 insertions(+), 20 deletions(-)
>
> diff --git a/sequencer.c b/sequencer.c
> index 07296f1f57..0dd45677b1 100644
> --- a/sequencer.c
> +++ b/sequencer.c
> @@ -4256,24 +4256,27 @@ int sequencer_add_exec_commands(const char *commands)
> return i;
> }
>
> -void todo_list_transform(struct todo_list *todo_list, unsigned flags)
> +static void todo_list_to_strbuf(struct todo_list *todo_list, struct strbuf *buf,
> + int num, unsigned flags)
> {
> - struct strbuf buf = STRBUF_INIT;
> struct todo_item *item;
> - int i;
> + int i, max = todo_list->nr;
>
> - for (item = todo_list->items, i = 0; i < todo_list->nr; i++, item++) {
> + if (num > 0 && num < max)
> + max = num;
> +
> + for (item = todo_list->items, i = 0; i < max; i++, item++) {
> /* if the item is not a command write it and continue */
> if (item->command >= TODO_COMMENT) {
> - strbuf_addf(&buf, "%.*s\n", item->arg_len, item->arg);
> + strbuf_addf(buf, "%.*s\n", item->arg_len, item->arg);
> continue;
> }
>
> /* add command to the buffer */
> if (flags & TODO_LIST_ABBREVIATE_CMDS)
> - strbuf_addch(&buf, command_to_char(item->command));
> + strbuf_addch(buf, command_to_char(item->command));
> else
> - strbuf_addstr(&buf, command_to_string(item->command));
> + strbuf_addstr(buf, command_to_string(item->command));
>
> /* add commit id */
> if (item->commit) {
> @@ -4283,27 +4286,46 @@ void todo_list_transform(struct todo_list *todo_list, unsigned flags)
>
> if (item->command == TODO_MERGE) {
> if (item->flags & TODO_EDIT_MERGE_MSG)
> - strbuf_addstr(&buf, " -c");
> + strbuf_addstr(buf, " -c");
> else
> - strbuf_addstr(&buf, " -C");
> + strbuf_addstr(buf, " -C");
> }
>
> - strbuf_addf(&buf, " %s", oid);
> + strbuf_addf(buf, " %s", oid);
> }
>
> /* add all the rest */
> if (!item->arg_len)
> - strbuf_addch(&buf, '\n');
> + strbuf_addch(buf, '\n');
> else
> - strbuf_addf(&buf, " %.*s\n", item->arg_len, item->arg);
> + strbuf_addf(buf, " %.*s\n", item->arg_len, item->arg);
> }
> +}
>
> - strbuf_reset(&todo_list->buf);
> - strbuf_add(&todo_list->buf, buf.buf, buf.len);
> +int todo_list_write_to_file(struct todo_list *todo_list, const char *file,
> + const char *shortrevisions, const char *shortonto,
> + int command_count, int append_help, int num, unsigned flags)
This is a really long argument list which makes it easy for callers to
get the parameters in the wrong order. I think append_help could
probably be folded into the flags, I'm not sure what the command_count
is used for but I've only read the first few patches. Maybe it would be
better to pass a struct so we have named fields.
Best Wishes
Phillip
> +{
> + int edit_todo = !(shortrevisions && shortonto), res;
> + struct strbuf buf = STRBUF_INIT;
> +
> + todo_list_to_strbuf(todo_list, &buf, num, flags);
> +
> + if (append_help) {
> + if (!edit_todo) {
> + strbuf_addch(&buf, '\n');
> + strbuf_commented_addf(&buf, Q_("Rebase %s onto %s (%d command)",
> + "Rebase %s onto %s (%d commands)",
> + command_count),
> + shortrevisions, shortonto, command_count);
> + }
> + append_todo_help(edit_todo, flags & TODO_LIST_KEEP_EMPTY, &buf);
> + }
> +
> + res = write_message(buf.buf, buf.len, file, 0);
> strbuf_release(&buf);
>
> - if (todo_list_parse_insn_buffer(todo_list->buf.buf, todo_list))
> - BUG("unusable todo list");
> + return res;
> }
>
> int transform_todo_file(unsigned flags)
> @@ -4320,9 +4342,8 @@ int transform_todo_file(unsigned flags)
> return error(_("unusable todo list: '%s'"), todo_file);
> }
>
> - todo_list_transform(&todo_list, flags);
> -
> - res = write_message(todo_list.buf.buf, todo_list.buf.len, todo_file, 0);
> + res = todo_list_write_to_file(&todo_list, todo_file,
> + NULL, NULL, 0, 0, -1, flags);
> todo_list_release(&todo_list);
> return res;
> }
> diff --git a/sequencer.h b/sequencer.h
> index 029d842ac5..a299c977fe 100644
> --- a/sequencer.h
> +++ b/sequencer.h
> @@ -113,7 +113,9 @@ struct todo_list {
> #define TODO_LIST_INIT { STRBUF_INIT }
>
> int todo_list_parse_insn_buffer(char *buf, struct todo_list *todo_list);
> -void todo_list_transform(struct todo_list *todo_list, unsigned flags);
> +int todo_list_write_to_file(struct todo_list *todo_list, const char *file,
> + const char *shortrevisions, const char *shortonto,
> + int command_count, int append_help, int num, unsigned flags);
> void todo_list_release(struct todo_list *todo_list);
>
> /* Call this to setup defaults before parsing command line options */
>
next prev parent reply other threads:[~2018-10-30 16:28 UTC|newest]
Thread overview: 190+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-07 19:54 [PATCH 00/15] sequencer: refactor functions working on a todo_list Alban Gruin
2018-10-07 19:54 ` [PATCH 01/15] sequencer: clear the number of items of a todo_list before parsing Alban Gruin
2018-10-07 19:54 ` [PATCH 02/15] sequencer: make the todo_list structure public Alban Gruin
2018-10-07 19:54 ` [PATCH 03/15] sequencer: refactor check_todo_list() to work on a todo_list Alban Gruin
2018-10-11 11:23 ` Phillip Wood
2018-10-07 19:54 ` [PATCH 04/15] sequencer: refactor sequencer_add_exec_commands() " Alban Gruin
2018-10-11 11:25 ` Phillip Wood
2018-10-11 16:57 ` Alban Gruin
2018-10-12 9:54 ` Phillip Wood
2018-10-12 12:23 ` Alban Gruin
2018-10-07 19:54 ` [PATCH 05/15] sequencer: refactor rearrange_squash() " Alban Gruin
2018-10-07 19:54 ` [PATCH 06/15] sequencer: refactor transform_todos() " Alban Gruin
2018-10-07 19:54 ` [PATCH 07/15] sequencer: make sequencer_make_script() write its script to a strbuf Alban Gruin
2018-10-12 10:01 ` SZEDER Gábor
2018-10-19 8:16 ` Junio C Hamano
2018-10-19 9:27 ` SZEDER Gábor
2018-10-07 19:54 ` [PATCH 08/15] sequencer: change complete_action() to use the refactored functions Alban Gruin
2018-10-11 13:51 ` Phillip Wood
2018-10-11 17:06 ` Alban Gruin
2018-10-07 19:54 ` [PATCH 09/15] sequencer: refactor skip_unnecessary_picks() to work on a todo_list Alban Gruin
2018-10-07 19:54 ` [PATCH 10/15] rebase-interactive: use todo_list_transform() in edit_todo_list() Alban Gruin
2018-10-11 15:16 ` Phillip Wood
2018-10-11 19:58 ` Alban Gruin
2018-10-07 19:54 ` [PATCH 11/15] rebase-interactive: append_todo_help() changes Alban Gruin
2018-10-07 19:54 ` [PATCH 12/15] rebase-interactive: rewrite edit_todo_list() to handle the initial edit Alban Gruin
2018-10-07 19:54 ` [PATCH 13/15] sequencer: use edit_todo_list() in complete_action() Alban Gruin
2018-10-07 19:54 ` [PATCH 14/15] sequencer: fix a call to error() in transform_todo_file() Alban Gruin
2018-10-07 19:54 ` [PATCH 15/15] rebase--interactive: move transform_todo_file() to rebase--interactive.c Alban Gruin
2018-10-07 20:51 ` [PATCH 00/15] sequencer: refactor functions working on a todo_list Alban Gruin
2018-10-27 21:29 ` [PATCH v2 00/16] " Alban Gruin
2018-10-27 21:29 ` [PATCH v2 01/16] sequencer: changes in parse_insn_buffer() Alban Gruin
2018-10-27 21:29 ` [PATCH v2 02/16] sequencer: make the todo_list structure public Alban Gruin
2018-10-27 21:29 ` [PATCH v2 03/16] sequencer: refactor transform_todos() to work on a todo_list Alban Gruin
2018-10-27 21:29 ` [PATCH v2 04/16] sequencer: introduce todo_list_write_to_file() Alban Gruin
2018-10-30 16:28 ` Phillip Wood [this message]
2018-11-01 23:31 ` Alban Gruin
2018-10-27 21:29 ` [PATCH v2 05/16] sequencer: refactor check_todo_list() to work on a todo_list Alban Gruin
2018-10-27 21:29 ` [PATCH v2 06/16] sequencer: refactor sequencer_add_exec_commands() " Alban Gruin
2018-10-30 16:47 ` Phillip Wood
2018-11-01 23:31 ` Alban Gruin
2018-11-02 10:09 ` Phillip Wood
2018-11-02 16:26 ` Alban Gruin
2018-11-02 17:09 ` Phillip Wood
2018-10-27 21:29 ` [PATCH v2 07/16] sequencer: refactor rearrange_squash() " Alban Gruin
2018-10-27 21:29 ` [PATCH v2 08/16] sequencer: make sequencer_make_script() write its script to a strbuf Alban Gruin
2018-10-27 21:29 ` [PATCH v2 09/16] sequencer: change complete_action() to use the refactored functions Alban Gruin
2018-10-27 21:29 ` [PATCH v2 10/16] sequencer: refactor skip_unnecessary_picks() to work on a todo_list Alban Gruin
2018-10-27 21:29 ` [PATCH v2 11/16] rebase-interactive: use todo_list_write_to_file() in edit_todo_list() Alban Gruin
2018-10-27 21:29 ` [PATCH v2 12/16] rebase-interactive: append_todo_help() changes Alban Gruin
2018-10-27 21:29 ` [PATCH v2 13/16] rebase-interactive: rewrite edit_todo_list() to handle the initial edit Alban Gruin
2018-10-27 21:29 ` [PATCH v2 14/16] sequencer: use edit_todo_list() in complete_action() Alban Gruin
2018-10-27 21:29 ` [PATCH v2 15/16] sequencer: fix a call to error() in transform_todo_file() Alban Gruin
2018-10-27 21:29 ` [PATCH v2 16/16] rebase--interactive: move transform_todo_file() to rebase--interactive.c Alban Gruin
2018-10-29 3:05 ` [PATCH v2 00/16] sequencer: refactor functions working on a todo_list Junio C Hamano
2018-10-29 15:34 ` Alban Gruin
2018-11-09 8:07 ` [PATCH v3 " Alban Gruin
2018-11-09 8:07 ` [PATCH v3 01/16] sequencer: changes in parse_insn_buffer() Alban Gruin
2018-11-09 8:07 ` [PATCH v3 02/16] sequencer: make the todo_list structure public Alban Gruin
2018-11-09 8:07 ` [PATCH v3 03/16] sequencer: refactor transform_todos() to work on a todo_list Alban Gruin
2018-11-09 8:07 ` [PATCH v3 04/16] sequencer: introduce todo_list_write_to_file() Alban Gruin
2018-11-09 8:07 ` [PATCH v3 05/16] sequencer: refactor check_todo_list() to work on a todo_list Alban Gruin
2018-11-09 8:07 ` [PATCH v3 06/16] sequencer: refactor sequencer_add_exec_commands() " Alban Gruin
2018-11-30 17:02 ` Phillip Wood
2018-11-30 19:06 ` Johannes Schindelin
2018-12-10 14:33 ` Phillip Wood
2018-12-28 19:42 ` Alban Gruin
2018-11-09 8:07 ` [PATCH v3 07/16] sequencer: refactor rearrange_squash() " Alban Gruin
2018-11-09 8:07 ` [PATCH v3 08/16] sequencer: make sequencer_make_script() write its script to a strbuf Alban Gruin
2018-11-09 8:07 ` [PATCH v3 09/16] sequencer: change complete_action() to use the refactored functions Alban Gruin
2018-11-09 8:07 ` [PATCH v3 10/16] sequencer: refactor skip_unnecessary_picks() to work on a todo_list Alban Gruin
2018-11-09 8:08 ` [PATCH v3 11/16] rebase-interactive: use todo_list_write_to_file() in edit_todo_list() Alban Gruin
2018-11-09 8:08 ` [PATCH v3 12/16] rebase-interactive: append_todo_help() changes Alban Gruin
2018-11-09 8:08 ` [PATCH v3 13/16] rebase-interactive: rewrite edit_todo_list() to handle the initial edit Alban Gruin
2018-11-09 8:08 ` [PATCH v3 14/16] sequencer: use edit_todo_list() in complete_action() Alban Gruin
2018-11-09 8:08 ` [PATCH v3 15/16] sequencer: fix a call to error() in transform_todo_file() Alban Gruin
2018-11-09 8:08 ` [PATCH v3 16/16] rebase--interactive: move transform_todo_file() to rebase--interactive.c Alban Gruin
2018-12-29 16:03 ` [PATCH v4 00/16] sequencer: refactor functions working on a todo_list Alban Gruin
2018-12-29 16:03 ` [PATCH v4 01/16] sequencer: changes in parse_insn_buffer() Alban Gruin
2018-12-29 16:03 ` [PATCH v4 02/16] sequencer: make the todo_list structure public Alban Gruin
2018-12-29 16:04 ` [PATCH v4 03/16] sequencer: remove the 'arg' field from todo_item Alban Gruin
2019-01-21 14:59 ` Phillip Wood
2019-01-22 15:27 ` Johannes Schindelin
2018-12-29 16:04 ` [PATCH v4 04/16] sequencer: refactor transform_todos() to work on a todo_list Alban Gruin
2018-12-29 16:04 ` [PATCH v4 05/16] sequencer: introduce todo_list_write_to_file() Alban Gruin
2018-12-29 16:04 ` [PATCH v4 06/16] sequencer: refactor check_todo_list() to work on a todo_list Alban Gruin
2018-12-29 16:04 ` [PATCH v4 07/16] sequencer: refactor sequencer_add_exec_commands() " Alban Gruin
2018-12-29 16:04 ` [PATCH v4 08/16] sequencer: refactor rearrange_squash() " Alban Gruin
2018-12-29 16:04 ` [PATCH v4 09/16] sequencer: make sequencer_make_script() write its script to a strbuf Alban Gruin
2018-12-29 16:04 ` [PATCH v4 10/16] sequencer: change complete_action() to use the refactored functions Alban Gruin
2018-12-29 16:04 ` [PATCH v4 11/16] sequencer: refactor skip_unnecessary_picks() to work on a todo_list Alban Gruin
2018-12-29 16:04 ` [PATCH v4 12/16] rebase-interactive: use todo_list_write_to_file() in edit_todo_list() Alban Gruin
2018-12-29 16:04 ` [PATCH v4 13/16] rebase-interactive: append_todo_help() changes Alban Gruin
2018-12-29 16:04 ` [PATCH v4 14/16] rebase-interactive: rewrite edit_todo_list() to handle the initial edit Alban Gruin
2018-12-29 16:04 ` [PATCH v4 15/16] sequencer: use edit_todo_list() in complete_action() Alban Gruin
2018-12-29 16:04 ` [PATCH v4 16/16] rebase--interactive: move transform_todo_file() to rebase--interactive.c Alban Gruin
2019-01-23 20:58 ` [PATCH v5 00/16] sequencer: refactor functions working on a todo_list Alban Gruin
2019-01-23 20:58 ` [PATCH v5 01/16] sequencer: changes in parse_insn_buffer() Alban Gruin
2019-01-23 20:58 ` [PATCH v5 02/16] sequencer: make the todo_list structure public Alban Gruin
2019-01-23 20:58 ` [PATCH v5 03/16] sequencer: remove the 'arg' field from todo_item Alban Gruin
2019-01-23 20:58 ` [PATCH v5 04/16] sequencer: refactor transform_todos() to work on a todo_list Alban Gruin
2019-01-23 20:58 ` [PATCH v5 05/16] sequencer: introduce todo_list_write_to_file() Alban Gruin
2019-01-23 20:58 ` [PATCH v5 06/16] sequencer: refactor check_todo_list() to work on a todo_list Alban Gruin
2019-01-23 20:58 ` [PATCH v5 07/16] sequencer: refactor sequencer_add_exec_commands() " Alban Gruin
2019-01-23 20:58 ` [PATCH v5 08/16] sequencer: refactor rearrange_squash() " Alban Gruin
2019-01-23 20:58 ` [PATCH v5 09/16] sequencer: make sequencer_make_script() write its script to a strbuf Alban Gruin
2019-01-23 20:58 ` [PATCH v5 10/16] sequencer: change complete_action() to use the refactored functions Alban Gruin
2019-01-23 20:58 ` [PATCH v5 11/16] sequencer: refactor skip_unnecessary_picks() to work on a todo_list Alban Gruin
2019-01-23 20:58 ` [PATCH v5 12/16] rebase-interactive: use todo_list_write_to_file() in edit_todo_list() Alban Gruin
2019-01-23 20:58 ` [PATCH v5 13/16] rebase-interactive: append_todo_help() changes Alban Gruin
2019-01-23 20:58 ` [PATCH v5 14/16] rebase-interactive: rewrite edit_todo_list() to handle the initial edit Alban Gruin
2019-01-23 20:58 ` [PATCH v5 15/16] sequencer: use edit_todo_list() in complete_action() Alban Gruin
2019-01-23 20:58 ` [PATCH v5 16/16] rebase--interactive: move transform_todo_file() to rebase--interactive.c Alban Gruin
2019-01-24 21:54 ` [PATCH v5 00/16] sequencer: refactor functions working on a todo_list Junio C Hamano
2019-01-24 22:43 ` Alban Gruin
2019-01-29 15:01 ` [PATCH v6 " Alban Gruin
2019-01-29 15:01 ` [PATCH v6 01/16] sequencer: changes in parse_insn_buffer() Alban Gruin
2019-01-29 15:01 ` [PATCH v6 02/16] sequencer: make the todo_list structure public Alban Gruin
2019-01-29 15:01 ` [PATCH v6 03/16] sequencer: remove the 'arg' field from todo_item Alban Gruin
2019-01-29 15:01 ` [PATCH v6 04/16] sequencer: refactor transform_todos() to work on a todo_list Alban Gruin
2019-01-29 15:01 ` [PATCH v6 05/16] sequencer: introduce todo_list_write_to_file() Alban Gruin
2019-01-29 15:01 ` [PATCH v6 06/16] sequencer: refactor check_todo_list() to work on a todo_list Alban Gruin
2019-01-29 15:01 ` [PATCH v6 07/16] sequencer: refactor sequencer_add_exec_commands() " Alban Gruin
2019-01-31 14:30 ` Phillip Wood
2019-01-31 20:37 ` Alban Gruin
2019-01-31 20:46 ` Phillip Wood
2019-02-01 14:51 ` Phillip Wood
2019-02-02 15:09 ` Alban Gruin
2019-02-07 11:09 ` Phillip Wood
2019-01-29 15:01 ` [PATCH v6 08/16] sequencer: refactor rearrange_squash() " Alban Gruin
2019-01-29 15:01 ` [PATCH v6 09/16] sequencer: make sequencer_make_script() write its script to a strbuf Alban Gruin
2019-01-29 15:01 ` [PATCH v6 10/16] sequencer: change complete_action() to use the refactored functions Alban Gruin
2019-01-29 20:14 ` Junio C Hamano
2019-01-29 20:33 ` Alban Gruin
2019-01-29 21:55 ` Junio C Hamano
2019-01-29 15:01 ` [PATCH v6 11/16] sequencer: refactor skip_unnecessary_picks() to work on a todo_list Alban Gruin
2019-02-07 11:06 ` Phillip Wood
2019-01-29 15:01 ` [PATCH v6 12/16] rebase-interactive: use todo_list_write_to_file() in edit_todo_list() Alban Gruin
2019-01-29 15:01 ` [PATCH v6 13/16] rebase-interactive: append_todo_help() changes Alban Gruin
2019-01-29 15:01 ` [PATCH v6 14/16] rebase-interactive: rewrite edit_todo_list() to handle the initial edit Alban Gruin
2019-02-01 11:03 ` Phillip Wood
2019-02-02 14:40 ` Alban Gruin
2019-02-06 21:11 ` Alban Gruin
2019-02-08 10:56 ` Phillip Wood
2019-01-29 15:01 ` [PATCH v6 15/16] sequencer: use edit_todo_list() in complete_action() Alban Gruin
2019-01-29 15:01 ` [PATCH v6 16/16] rebase--interactive: move transform_todo_file() to rebase--interactive.c Alban Gruin
2019-02-01 11:15 ` Phillip Wood
2019-02-02 15:05 ` Alban Gruin
2019-02-10 13:26 ` [PATCH v7 00/16] sequencer: refactor functions working on a todo_list Alban Gruin
2019-02-10 13:26 ` [PATCH v7 01/16] sequencer: changes in parse_insn_buffer() Alban Gruin
2019-02-10 13:26 ` [PATCH v7 02/16] sequencer: make the todo_list structure public Alban Gruin
2019-02-10 13:26 ` [PATCH v7 03/16] sequencer: remove the 'arg' field from todo_item Alban Gruin
2019-02-10 13:26 ` [PATCH v7 04/16] sequencer: refactor transform_todos() to work on a todo_list Alban Gruin
2019-02-10 13:26 ` [PATCH v7 05/16] sequencer: introduce todo_list_write_to_file() Alban Gruin
2019-02-10 13:26 ` [PATCH v7 06/16] sequencer: refactor check_todo_list() to work on a todo_list Alban Gruin
2019-02-10 13:26 ` [PATCH v7 07/16] sequencer: refactor sequencer_add_exec_commands() " Alban Gruin
2019-02-12 10:52 ` Phillip Wood
2019-02-12 15:21 ` Alban Gruin
2019-02-13 10:03 ` Phillip Wood
2019-02-10 13:26 ` [PATCH v7 08/16] sequencer: refactor rearrange_squash() " Alban Gruin
2019-02-10 13:26 ` [PATCH v7 09/16] sequencer: make sequencer_make_script() write its script to a strbuf Alban Gruin
2019-02-10 13:26 ` [PATCH v7 10/16] sequencer: change complete_action() to use the refactored functions Alban Gruin
2019-02-10 13:26 ` [PATCH v7 11/16] sequencer: refactor skip_unnecessary_picks() to work on a todo_list Alban Gruin
2019-02-13 10:05 ` Phillip Wood
2019-02-10 13:26 ` [PATCH v7 12/16] rebase-interactive: use todo_list_write_to_file() in edit_todo_list() Alban Gruin
2019-02-10 13:26 ` [PATCH v7 13/16] rebase-interactive: append_todo_help() changes Alban Gruin
2019-02-10 13:26 ` [PATCH v7 14/16] rebase-interactive: rewrite edit_todo_list() to handle the initial edit Alban Gruin
2019-02-13 10:10 ` Phillip Wood
2019-02-10 13:26 ` [PATCH v7 15/16] sequencer: use edit_todo_list() in complete_action() Alban Gruin
2019-02-10 13:26 ` [PATCH v7 16/16] rebase--interactive: move several functions to rebase--interactive.c Alban Gruin
2019-02-13 10:17 ` Phillip Wood
2019-03-05 19:17 ` [PATCH v8 00/18] sequencer: refactor functions working on a todo_list Alban Gruin
2019-03-05 19:17 ` [PATCH v8 01/18] sequencer: changes in parse_insn_buffer() Alban Gruin
2019-03-05 19:17 ` [PATCH v8 02/18] sequencer: make the todo_list structure public Alban Gruin
2019-03-05 19:17 ` [PATCH v8 03/18] sequencer: remove the 'arg' field from todo_item Alban Gruin
2019-03-05 19:17 ` [PATCH v8 04/18] sequencer: refactor transform_todos() to work on a todo_list Alban Gruin
2019-03-05 19:17 ` [PATCH v8 05/18] sequencer: introduce todo_list_write_to_file() Alban Gruin
2019-03-05 19:17 ` [PATCH v8 06/18] sequencer: refactor check_todo_list() to work on a todo_list Alban Gruin
2019-03-05 19:17 ` [PATCH v8 07/18] sequencer: refactor sequencer_add_exec_commands() " Alban Gruin
2019-03-05 19:17 ` [PATCH v8 08/18] sequencer: refactor rearrange_squash() " Alban Gruin
2019-03-05 19:17 ` [PATCH v8 09/18] sequencer: make sequencer_make_script() write its script to a strbuf Alban Gruin
2019-03-05 19:17 ` [PATCH v8 10/18] sequencer: change complete_action() to use the refactored functions Alban Gruin
2019-03-05 19:17 ` [PATCH v8 11/18] rebase--interactive: move sequencer_add_exec_commands() Alban Gruin
2019-03-05 19:17 ` [PATCH v8 12/18] rebase--interactive: move rearrange_squash_in_todo_file() Alban Gruin
2019-03-05 19:18 ` [PATCH v8 13/18] sequencer: refactor skip_unnecessary_picks() to work on a todo_list Alban Gruin
2019-03-05 19:18 ` [PATCH v8 14/18] rebase-interactive: use todo_list_write_to_file() in edit_todo_list() Alban Gruin
2019-03-05 19:18 ` [PATCH v8 15/18] rebase-interactive: append_todo_help() changes Alban Gruin
2019-03-05 19:18 ` [PATCH v8 16/18] rebase-interactive: rewrite edit_todo_list() to handle the initial edit Alban Gruin
2019-03-05 19:18 ` [PATCH v8 17/18] sequencer: use edit_todo_list() in complete_action() Alban Gruin
2019-03-05 19:18 ` [PATCH v8 18/18] rebase--interactive: move transform_todo_file() Alban Gruin
2019-03-13 10:45 ` [PATCH v8 00/18] sequencer: refactor functions working on a todo_list Phillip Wood
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=03475c29-5317-b105-6102-5cae3a5ae926@talktalk.net \
--to=phillip.wood@talktalk.net \
--cc=Johannes.Schindelin@gmx.de \
--cc=alban.gruin@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=phillip.wood@dunelm.org.uk \
/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).