Johannes Schindelin <johannes.schinde...@gmx.de> writes:

> From: Junio C Hamano <gits...@pobox.com>

Did I write this thing?

Having two sets of numbers that illustrated that this is not really
a useful optimization in the bigger picture looks vaguely familiar
(e.g. $gmane/279417), but the numbers are different.

>       It feels *slightly* wrong to submit your own patch to review,
>       however, please keep in mind that
>
>       1) I changed the patch (o.gently does not exist anymore, so I do
>          not set it), and
>
>       2) I added my own timings performed on Windows.

It probably is much less confusing if you take the authorship,
possibly with a passing reference to whatever I wrote as the source
of inspiration in the log message, or something.  I do not think I
deserve a credit in this 9-patch series.

I haven't read the other 8 patches, so I cannot comment on it yet.

>  builtin/am.c | 27 ++++++++++++++-------------
>  1 file changed, 14 insertions(+), 13 deletions(-)
>
> diff --git a/builtin/am.c b/builtin/am.c
> index 3dfe70b..dd41154 100644
> --- a/builtin/am.c
> +++ b/builtin/am.c
> @@ -1587,25 +1587,26 @@ static int run_fallback_merge_recursive(const struct 
> am_state *state,
>                                       unsigned char *our_tree,
>                                       unsigned char *his_tree)
>  {
> -     struct child_process cp = CHILD_PROCESS_INIT;
> +     const unsigned char *bases[1] = {orig_tree};
> +     struct merge_options o;
> +     struct commit *result;
> +     char *his_tree_name;
>       int status;
>  
> -     cp.git_cmd = 1;
> +     init_merge_options(&o);
> +
> +     o.branch1 = "HEAD";
> +     his_tree_name = xstrfmt("%.*s", linelen(state->msg), state->msg);
> +     o.branch2 = his_tree_name;
>  
> -     argv_array_pushf(&cp.env_array, "GITHEAD_%s=%.*s",
> -                      sha1_to_hex(his_tree), linelen(state->msg), 
> state->msg);
>       if (state->quiet)
> -             argv_array_push(&cp.env_array, "GIT_MERGE_VERBOSITY=0");
> +             o.verbosity = 0;
>  
> -     argv_array_push(&cp.args, "merge-recursive");
> -     argv_array_push(&cp.args, sha1_to_hex(orig_tree));
> -     argv_array_push(&cp.args, "--");
> -     argv_array_push(&cp.args, sha1_to_hex(our_tree));
> -     argv_array_push(&cp.args, sha1_to_hex(his_tree));
> +     status = merge_recursive_generic(&o, our_tree, his_tree, 1, bases, 
> &result);
> +     if (status < 0)
> +             exit(128);
> +     free(his_tree_name);
>  
> -     status = run_command(&cp) ? (-1) : 0;
> -     discard_cache();
> -     read_cache();
>       return status;
>  }
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to