On 10/11/17 19:21, Junio C Hamano wrote:
> Phillip Wood <phillip.w...@talktalk.net> writes:
> 
>> Here's the summary from the previous version
>> These patches teach the sequencer to create commits without forking
>> git commit when the commit message does not need to be edited. This
>> speeds up cherry picking 10 commits by 26% and picking 10 commits with
>> rebase --continue by 44%. The first few patches move bits of
>> builtin/commit.c to sequencer.c. The last two patches actually
>> implement creating commits in sequencer.c.
> 
> Thanks.  The changes since the initial iteration seems quite small
> and I didn't find much objectionable.
> 
> Here are some style fixes I needed to add on top to make the output
> of "diff master HEAD" checkpatch.pl-clean.  I think 3/9 and 9/9 are
> the culprits.

Thanks, I'll update the patches.

Are you happy with the '--signoff' is handled (I didn't modify my
changes in the last iteration as you were still thinking about it)?

In the last patch commit_tree_extended() can die in write_loose_object()
which means that the current command is not rescheduled as it should be
when rebasing. write_loose_object() already an error if there is a
problem opening the file, but dies if there is a problem creating the
file contents or writing that contents.

Best Wishes

Phillip

> diff --git a/sequencer.c b/sequencer.c
> index 1f65e82696..a989588ee5 100644
> --- a/sequencer.c
> +++ b/sequencer.c
> @@ -592,7 +592,7 @@ static int read_env_script(struct argv_array *env)
>       return 0;
>  }
>  
> -static char *get_author(const char* message)
> +static char *get_author(const char *message)
>  {
>       size_t len;
>       const char *a;
> @@ -1104,7 +1104,7 @@ static int try_to_commit(struct strbuf *msg, const char 
> *author,
>       }
>  
>       if (update_head_with_reflog(current_head, oid,
> -                                 getenv("GIT_REFLOG_ACTION"), msg, &err)){
> +                                 getenv("GIT_REFLOG_ACTION"), msg, &err)) {
>               res = error("%s", err.buf);
>               goto out;
>       }
> @@ -1121,7 +1121,7 @@ static int try_to_commit(struct strbuf *msg, const char 
> *author,
>       return res;
>  }
>  
> -static int do_commit(const char *msg_file, const char* author,
> +static int do_commit(const char *msg_file, const char *author,
>                    struct replay_opts *opts, unsigned int flags)
>  {
>       int res = 1;
> @@ -1521,7 +1521,7 @@ static int do_pick_commit(enum todo_command command, 
> struct commit *commit,
>                       strbuf_addstr(&msgbuf, oid_to_hex(&commit->object.oid));
>                       strbuf_addstr(&msgbuf, ")\n");
>               }
> -             if (!is_fixup (command))
> +             if (!is_fixup(command))
>                       author = get_author(msg.message);
>       }
>  
> diff --git a/sequencer.h b/sequencer.h
> index 27f34be400..e0be354301 100644
> --- a/sequencer.h
> +++ b/sequencer.h
> @@ -72,7 +72,7 @@ int template_untouched(const struct strbuf *sb, const char 
> *template_file,
>                      enum commit_msg_cleanup_mode cleanup_mode);
>  int update_head_with_reflog(const struct commit *old_head,
>                           const struct object_id *new_head,
> -                         const char* action, const struct strbuf *msg,
> +                         const char *action, const struct strbuf *msg,
>                           struct strbuf *err);
>  void commit_post_rewrite(const struct commit *current_head,
>                        const struct object_id *new_head);
> 
> 

Reply via email to