Johannes Schindelin <[email protected]> writes:
> From: Junio C Hamano <[email protected]>
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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html