From: Johannes Schindelin <Johannes.Schindelin@gmx.de>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org
Subject: Re: What's cooking in git.git (Apr 2016, #06; Thu, 21)
Date: Fri, 22 Apr 2016 16:04:02 +0200 (CEST) [thread overview]
Message-ID: <alpine.DEB.2.20.1604221601270.6812@virtualbox> (raw)
In-Reply-To: <xmqqy486r4co.fsf@gitster.mtv.corp.google.com>
Hi Junio,
On Thu, 21 Apr 2016, Junio C Hamano wrote:
> * js/am-3-merge-recursive-direct (2015-10-12) 2 commits
> - am: make a direct call to merge_recursive
> - merge_recursive_options: introduce the "gently" flag
>
> The merge_recursive_generic() function has been made a bit safer to
> call from inside a process. "git am -3" was taught to make a direct
> call to the function when falling back to three-way merge.
>
> Being able to make a direct call would be good in general, but as a
> performance thing, the change needs to be backed up by numbers.
>
> Needs review.
>
> I haven't gone through the "gently" change with fine toothed comb;
> I can see that the change avoids calling die(), but I haven't made
> sure that the program states (e.g. what's in the in-core index) are
> adjusted sensibly when it returns to the caller instead of dying,
> or the codepaths that used to die() are free of resource leaks.
> The original code certainly did not care the program states at the
> point of dying exactly because it knew it is going to exit, but now
> they have to care, and they need to be audited.
I actually found a bug in my implementation, when I needed it in my
rebase--helper branch: at some point, we should return 128 instead of -1,
to indicate that we won't even start merging (because we would overwrite
untracked files).
I hope to find the time next week to go through the entire call graph and
verify that we are only die()ing in case if really critical errors (such
as out-of-memory, in which case we traditionally just die).
Ciao,
Dscho
next prev parent reply other threads:[~2016-04-22 14:04 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-21 22:20 What's cooking in git.git (Apr 2016, #06; Thu, 21) Junio C Hamano
2016-04-21 22:32 ` Stefan Beller
2016-04-21 22:48 ` Pranit Bauva
2016-04-22 17:23 ` Junio C Hamano
2016-04-22 22:12 ` Junio C Hamano
2016-04-23 18:42 ` Pranit Bauva
2016-04-21 22:51 ` Santiago Torres
2016-04-21 23:20 ` Junio C Hamano
2016-04-22 4:42 ` Jeff King
2016-04-22 17:22 ` Junio C Hamano
2016-04-22 18:38 ` Jeff King
2016-04-22 5:01 ` Torsten Bögershausen
2016-04-22 17:23 ` Junio C Hamano
2016-04-22 14:04 ` Johannes Schindelin [this message]
2016-04-22 17:24 ` 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
* 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.1604221601270.6812@virtualbox \
--to=johannes.schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
/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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.