git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Jeff King <peff@peff.net>
Cc: Jonathan Nieder <jrnieder@gmail.com>, git@vger.kernel.org
Subject: Re: [BUG] two-way read-tree can write null sha1s into index
Date: Thu, 03 Jan 2013 12:34:27 -0800	[thread overview]
Message-ID: <7vip7evwdo.fsf@alter.siamese.dyndns.org> (raw)
In-Reply-To: <20130103202343.GA4632@sigill.intra.peff.net> (Jeff King's message of "Thu, 3 Jan 2013 15:23:43 -0500")

Jeff King <peff@peff.net> writes:

> Or are you suggesting that the three-way case should always be protected
> by checking that there are no unmerged entries before we start it? That
> seems sane to me, but I haven't confirmed that that is the case.

I think the normal (and hopefully only) "-m -u O A B" use case of
threeway is the bog-standard "git merge", which requires even more:
your index must exactly match HEAD, even though you are allowed to
have local changes in the working tree.

That requirement is not likely to change, as cleanly merged paths
are automatically added to the index, so "diff --cached" should show
only the changes from cleanly merged part, while "diff" should show
paths that still needs user's help.

If we allowed local modification to the index (let alone conflicted
entries in it) before the merge begins, the users would not be able
to tell which paths are in what state after a half-merge stops and
asks for help.  Updated paths may not have anything to do with the
merge (i.e. earlier "git add" before the merge started), conflicting
paths may not have anything to do with the merge (i.e. leftover
conflicts before the merge started).

  reply	other threads:[~2013-01-03 20:34 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-28 15:01 [PATCH 0/3] null sha1 in trees Jeff King
2012-07-28 15:03 ` [PATCH 1/3] diff: do not use null sha1 as a sentinel value Jeff King
2012-07-28 15:05 ` [PATCH 2/3] do not write null sha1s to on-disk index Jeff King
2012-12-29 10:03   ` Jonathan Nieder
2012-12-29 10:27     ` Jeff King
2012-12-29 10:34       ` Jonathan Nieder
2012-12-29 10:42         ` Jeff King
2012-12-29 10:51           ` Jonathan Nieder
2012-12-29 11:05         ` Jeff King
2012-12-29 20:51           ` [BUG] two-way read-tree can write null sha1s into index Jeff King
2013-01-01 22:24             ` Junio C Hamano
2013-01-03  8:37               ` Jeff King
2013-01-03 15:34                 ` Junio C Hamano
2013-01-03 20:23                   ` Jeff King
2013-01-03 20:34                     ` Junio C Hamano [this message]
2013-01-03 20:36                       ` Jeff King
2013-01-03 22:33                         ` Junio C Hamano
2013-01-07 13:46                           ` Jeff King
2012-12-29 10:40       ` [PATCH 2/3] do not write null sha1s to on-disk index Jonathan Nieder
2012-07-28 15:06 ` [PATCH 3/3] fsck: detect null sha1 in tree entries Jeff King
2012-07-29 22:15 ` [PATCH 0/3] null sha1 in trees Junio C Hamano
2012-07-30 15:42   ` Jeff King

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

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7vip7evwdo.fsf@alter.siamese.dyndns.org \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=jrnieder@gmail.com \
    --cc=peff@peff.net \
    /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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).