From: linux@horizon.com
To: junkio@cox.net
Cc: git@vger.kernel.org, linux@horizon.com, pasky@suse.cz
Subject: Re: git-name-rev off-by-one bug
Date: 29 Nov 2005 19:15:03 -0500 [thread overview]
Message-ID: <20051130001503.28498.qmail@science.horizon.com> (raw)
In-Reply-To: <7vsltf6o8f.fsf@assigned-by-dhcp.cox.net>
> It is not silly. Actually we have "been there, done that".
Um, okay, but I don't see why you changed...
> We used to leave the higher stages around in the index after
> automerge failure. Note that you would not just have stage2 in
> such a case. stage1 keeps the common ancestor, stage2 has what
> you started with, and stage3 holds the version from other
> branch. diff-stages can be used to diff between these stages.
> We _could_ have added feature to either diff-stages or
> diff-files to compare between stageN and working tree.
Yes, exactly. This is what I expected.
> However, this turned out to be not so convenient as we wished
> initially. What you would do after inspecting diffs between
> stage1 and stage3, between stage2 and stage3 and between stage1
> and stage2 typically ends up doing what "merge" have tried (and
> failed) manually anyway, and being able to find the conflict
> markers by simply running "git diff" was just as good, except
> that we risk getting still-unresolved files checked in if the
> user is not careful.
You seem to be saying that producing a merge with conflict markers is
what you (almost) always want, so it's the default. No objections.
But why collapse the index and only keep stage2? Why not leave all
stages in the index *and* the merge-with-conflict-markers in the working
directory?
They you could, for example, try alternate single-file merge algorithms
on the conflict, or regenerate the conflict markers if you wanted.
By keeping all of the source material around until the user has decided
on a resolution, you achieve maximal flexibility.
This is no more effort for the user to use in the common case (edit the
conflicts and git-update-index), but lets you try various things in the
working directory and eaily back out of them. ("git-merge-index -s manual
-a" would regenerate all of the conflict markers.) And it prevents a
checkin until the matter has been resolved.
I'm wondering if this isn't a philosophical issue. One side says that,
since all automated merging is complete, the stages should be collapsed.
To me, it makes more sense to leave out the adjective "automated" and
consider the merge to be incomplete; we're just putting the user in the
loop when software fails.
next prev parent reply other threads:[~2005-11-30 0:15 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-28 23:42 git-name-rev off-by-one bug linux
2005-11-29 5:54 ` Junio C Hamano
2005-11-29 8:05 ` linux
2005-11-29 9:29 ` Junio C Hamano
2005-11-30 8:37 ` Junio C Hamano
2005-11-29 10:31 ` Petr Baudis
2005-11-29 18:46 ` Junio C Hamano
2005-12-04 21:34 ` Petr Baudis
2005-12-08 6:34 ` as promised, docs: git for the confused linux
2005-12-08 21:53 ` Junio C Hamano
2005-12-08 22:02 ` H. Peter Anvin
2005-12-09 0:47 ` Alan Chandler
2005-12-09 1:45 ` Petr Baudis
2005-12-09 1:19 ` Josef Weidendorfer
2005-11-29 21:40 ` git-name-rev off-by-one bug linux
2005-11-29 23:14 ` Junio C Hamano
2005-11-30 0:15 ` linux [this message]
2005-11-30 0:53 ` Junio C Hamano
2005-11-30 1:27 ` Junio C Hamano
2005-11-30 1:51 ` Linus Torvalds
2005-11-30 2:06 ` Junio C Hamano
2005-11-30 2:33 ` Junio C Hamano
2005-11-30 3:12 ` Linus Torvalds
2005-11-30 5:06 ` Linus Torvalds
2005-11-30 5:51 ` Junio C Hamano
2005-11-30 6:11 ` Junio C Hamano
2005-11-30 16:13 ` Linus Torvalds
2005-11-30 16:08 ` Linus Torvalds
2005-12-02 8:25 ` Junio C Hamano
2005-12-02 9:14 ` [PATCH] merge-one-file: make sure we create the merged file Junio C Hamano
2005-12-02 9:15 ` [PATCH] merge-one-file: make sure we do not mismerge symbolic links Junio C Hamano
2005-12-02 9:16 ` [PATCH] git-merge documentation: conflicting merge leaves higher stages in index Junio C Hamano
2005-11-30 6:09 ` git-name-rev off-by-one bug linux
2005-11-30 6:39 ` Junio C Hamano
2005-11-30 13:10 ` More merge questions linux
2005-11-30 18:37 ` Daniel Barkalow
2005-11-30 20:23 ` Junio C Hamano
2005-12-02 9:19 ` More merge questions (why doesn't this work?) linux
2005-12-02 10:12 ` Junio C Hamano
2005-12-02 13:09 ` Sven Verdoolaege
2005-12-02 20:32 ` Junio C Hamano
2005-12-05 15:01 ` Sven Verdoolaege
2005-12-02 11:37 ` linux
2005-12-02 20:31 ` Junio C Hamano
2005-12-02 21:32 ` linux
2005-12-02 22:00 ` Junio C Hamano
2005-12-02 22:12 ` Linus Torvalds
2005-12-02 23:14 ` linux
2005-12-02 21:56 ` More merge questions linux
2005-11-30 16:12 ` git-name-rev off-by-one bug Linus Torvalds
2005-11-30 7:18 ` Junio C Hamano
2005-11-30 9:05 ` Junio C Hamano
2005-11-30 9:42 ` Junio C Hamano
2005-11-30 3:15 ` linux
2005-11-30 18:11 ` Daniel Barkalow
2005-11-30 17:46 ` Daniel Barkalow
2005-11-30 20:05 ` Junio C Hamano
2005-11-30 21:06 ` Daniel Barkalow
2005-11-30 22:00 ` Junio C Hamano
2005-11-30 23:12 ` Daniel Barkalow
2005-12-01 7:46 ` Junio C Hamano
2005-12-01 10:14 ` Junio C Hamano
2005-12-01 21:50 ` Petr Baudis
2005-12-01 21:53 ` Randal L. Schwartz
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=20051130001503.28498.qmail@science.horizon.com \
--to=linux@horizon.com \
--cc=git@vger.kernel.org \
--cc=junkio@cox.net \
--cc=pasky@suse.cz \
/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).