From: Petr Baudis <pasky@suse.cz>
To: Junio C Hamano <junkio@cox.net>
Cc: Jon Loeliger <jdl@freescale.com>, git@vger.kernel.org
Subject: Re: Expected Behavior?
Date: Tue, 8 Nov 2005 10:56:00 +0100 [thread overview]
Message-ID: <20051108095600.GA1431@pasky.or.cz> (raw)
In-Reply-To: <7vwtjjllw4.fsf@assigned-by-dhcp.cox.net>
Dear diary, on Tue, Nov 08, 2005 at 07:00:11AM CET, I got a letter
where Junio C Hamano <junkio@cox.net> told me that...
> Nobody complained so far about this, probably because two side
> adding different versions is rare enough. And the reasoning
> behind the current behaviour is probably because the tool cannot
> automerge them sensibly anyway. Leaving the SHA1 in index file
> might probably be easier to clean up by hand (e.g. see ls-files
> --unmerged, and cut&paste the desired SHA1 to 'git-cat-file
> blob' command line, or something silly like that). But if we
> were to go that route, adding --stage=[123] flag so that the
> user can say 'git-checkout-index --stage=3 file3'might have
> helped a bit more.
#
# Added in both (different in each).
#
".$id1$id2")
#echo "Adding $file"
filev="$file"
while [ -e "$filev~1" ] || [ -e "$filev~2" ]; do
filev="$filev~"
done
error "File $file added in both branches, but different in each!"
error "Conflicting versions saved as '$filev~1' and '$filev~2'."
git-update-index --add --cacheinfo "$mode1" "$id1" "$file" &&
git-checkout-index -u -f -- "$file" &&
mv "$file" "$filev~1" ||
error "Cannot create '$filev~1'"
git-update-index --add --cacheinfo "$mode2" "$id2" "$file" &&
git-checkout-index -u -f -- "$file" &&
mv "$file" "$filev~2" ||
error "Cannot create '$filev~2'"
exit 1
;;
is what Cogito's automerger does. It ain't very pretty, but it works.
:-) (At least it seems to.) I yet need to add some conflicts tracking to
Cogito to prevent accidental checking in of conflicts.
> We could instead use the attached patch to get the behaviour you
> are expecting. I have a feeling that the result from this might
> be a little more intuitive and easier to resolve by hand than
> the current one. Although we may end up unresolvable mess in
> file3 if either side is binary, in that case the user can still
> sift through 'diff-tree A B file3' output to find out the
> relevant SHA1 to recover the blobs from both sides by hand
> anyway. Does anybody have strong opinion on this?
I think having
<<<<<
file1
=====
file2
>>>>>
is an awful PITA to resolve, especially when the files actually are
similar. Running some vimdiff (or just diff and possibly applying either
way) on two separate files is much more convenient.
--
Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
VI has two modes: the one in which it beeps and the one in which
it doesn't.
next prev parent reply other threads:[~2005-11-08 9:56 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-08 3:43 Expected Behavior? Jon Loeliger
2005-11-08 6:00 ` Junio C Hamano
2005-11-08 9:56 ` Petr Baudis [this message]
2005-11-10 4:41 ` merge-one-file: use common as base, instead of emptiness Junio C Hamano
2005-11-10 19:43 ` Petr Baudis
2005-11-10 20:30 ` Junio C Hamano
2005-11-10 20:35 ` Petr Baudis
2005-11-08 21:03 ` Expected Behavior? Fredrik Kuivinen
2005-11-08 21:41 ` Junio C Hamano
2005-11-08 22:53 ` Fredrik Kuivinen
2005-11-09 5:50 ` Junio C Hamano
2005-11-09 8:19 ` Fredrik Kuivinen
2005-11-09 10:42 ` [PATCH] merge-recursive: Fix support for branch names containing slashes Fredrik Kuivinen
2005-11-10 20:34 ` Expected Behavior? Petr Baudis
2005-11-10 22:52 ` Junio C Hamano
2005-11-10 23:22 ` Petr Baudis
2005-11-09 11:24 ` Petr Baudis
2005-11-09 23:04 ` Martin Langhoff
2005-11-09 23:12 ` Petr Baudis
2005-11-09 23:43 ` Martin Langhoff
2005-11-09 23:49 ` Petr Baudis
2005-11-10 2:47 ` Martin Langhoff
2005-11-10 19:34 ` Petr Baudis
2005-11-10 19:54 ` Martin Langhoff
2005-11-10 20:10 ` Petr Baudis
2005-11-09 23:36 ` Junio C Hamano
2005-11-09 23:42 ` Petr Baudis
2005-11-10 0:03 ` Junio C Hamano
-- strict thread matches above, loose matches on Subject: below --
2005-11-09 13:38 Jon Loeliger
2005-11-09 20:38 ` Junio C Hamano
2005-11-09 2:58 Jon Loeliger
2005-11-09 6:28 ` Junio C Hamano
2005-11-08 3:07 Jon Loeliger
2005-11-06 22:16 Jon Loeliger
2005-11-07 1:38 ` Junio C Hamano
2005-11-07 2:01 ` 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=20051108095600.GA1431@pasky.or.cz \
--to=pasky@suse.cz \
--cc=git@vger.kernel.org \
--cc=jdl@freescale.com \
--cc=junkio@cox.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.
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).