git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Miklos Vajna <vmiklos@frugalware.org>
Cc: git@vger.kernel.org, Johannes Schindelin <johannes.schindelin@gmx.de>
Subject: Re: [PATCH 2/2] builtin-merge: avoid run_command_v_opt() for recursive
Date: Mon, 11 Aug 2008 13:03:24 -0700	[thread overview]
Message-ID: <7vvdy7wc8j.fsf@gitster.siamese.dyndns.org> (raw)
In-Reply-To: <20080811190705.GQ18960@genesis.frugalware.org> (Miklos Vajna's message of "Mon, 11 Aug 2008 21:07:05 +0200")

Miklos Vajna <vmiklos@frugalware.org> writes:

> So I don't think there is a case when a die() inside merge-recursive
> would occur, but an other strategy would handle the merge properly.

Normal case is fine.

I was not worried too much about "the other strategy will" case, but isn't
the general structure of git-merge driver be:

    - do some set-up computation, and leave info in .git/
    - call strategy
    - depending on how it exits, perform further operation (such as
      writing out tree out of index and updating HEAD) using the info in
      .git it left before it called strategy, and clean up whatever was
      done in the first step (things like "drop the index lock"?).

Dying in the strategy and not allowing the clean-up was what I was worried
about.  If you can guarantee that you are not going to leave the
repository in a wedged state, calling merge-recursive internally is
perfectly fine, but the codepaths involved need to be carefully vetted for
that.

  reply	other threads:[~2008-08-11 20:04 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-10 13:20 [PATCH 0/2] Avoid run_command() for recursive in builtin-merge Miklos Vajna
2008-08-10 13:20 ` [PATCH 1/2] merge-recursive: prepare merge_recursive() to be called from builtins Miklos Vajna
2008-08-10 13:20   ` [PATCH 2/2] builtin-merge: avoid run_command_v_opt() for recursive Miklos Vajna
2008-08-11 18:47     ` Junio C Hamano
2008-08-11 19:07       ` Miklos Vajna
2008-08-11 20:03         ` Junio C Hamano [this message]
2008-08-11 20:45           ` Miklos Vajna
2008-08-11 20:48             ` [PATCH] Add a new test to ensure merging a submodule is handled properly Miklos Vajna
2008-08-11 15:13   ` [PATCH 1/2] merge-recursive: prepare merge_recursive() to be called from builtins Stephan Beyer
2008-08-11 16:46     ` Miklos Vajna
2008-08-11 19:53     ` Junio C Hamano
2008-08-11 20:46       ` Stephan Beyer
2008-08-11 15:03 ` [PATCH] builtin-revert.c: Make use of merge_recursive() Stephan Beyer
2008-08-11 15:47   ` Johannes Schindelin
2008-08-11 19:01     ` Stephan Beyer
2008-08-11 19:09       ` Miklos Vajna
2008-08-11 21:44         ` [PATCH] builtin-revert: " Stephan Beyer
2008-08-11 21:46           ` Stephan Beyer
2008-08-11 22:33             ` Junio C Hamano
2008-08-11 23:27           ` Junio C Hamano
2008-08-11 23:47             ` Stephan Beyer
2008-08-11 23:52               ` Junio C Hamano
2008-08-12 16:45             ` [PATCH] Split out merge_recursive() to merge-recursive.c Miklos Vajna
2008-08-12 17:56               ` Stephan Beyer
2008-08-12 21:40                 ` Miklos Vajna
2008-08-12 20:13               ` [PATCH (1b)] merge-recursive.c: Add more generic merge_recursive_generic() Stephan Beyer
2008-08-12 20:14                 ` [PATCH (2)] Make builtin-revert.c use merge_recursive_generic() Stephan Beyer
2008-08-12 21:44                 ` [PATCH (1b)] merge-recursive.c: Add more generic merge_recursive_generic() Miklos Vajna
2008-08-13 17:26                   ` Stephan Beyer
2008-08-13 20:13                     ` Miklos Vajna
2008-08-13  3:17                 ` Daniel Barkalow
2008-08-13 17:29                   ` Stephan Beyer
2008-08-13 17:54                     ` Daniel Barkalow
2008-08-13 19:55                       ` Junio C Hamano
2008-08-13 20:05                         ` Stephan Beyer
2008-08-13 20:36                         ` Daniel Barkalow
2008-08-13 21:45                           ` Junio C Hamano
2008-08-14  3:17               ` [PATCH] Split out merge_recursive() to merge-recursive.c 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=7vvdy7wc8j.fsf@gitster.siamese.dyndns.org \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=johannes.schindelin@gmx.de \
    --cc=vmiklos@frugalware.org \
    /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 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 NNTP newsgroup(s).