git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Junio C Hamano <junkio@cox.net>
To: Fredrik Kuivinen <freku045@student.liu.se>
Cc: git@vger.kernel.org, Daniel Barkalow <barkalow@iabervon.org>,
	Tony Luck <tony.luck@intel.com>
Subject: Another merge test case from the kernel tree.
Date: Tue, 13 Sep 2005 22:56:45 -0700	[thread overview]
Message-ID: <7vpsrcqjj6.fsf_-_@assigned-by-dhcp.cox.net> (raw)
In-Reply-To: <7vzmqk2u1w.fsf_-_@assigned-by-dhcp.cox.net> (Junio C. Hamano's message of "Sat, 10 Sep 2005 19:54:19 -0700")

One more merge test case you would be interested.  What's most
interesting about this commit is that it has three merge bases,
not two.

commit c820884e4f35a40f88b787c3891a23d629ef6bfd
Merge: aa2dca4563b0629ecd9d9994dfdf39f29ff1b43f 357d596bd552ad157a906289ab13ea6ba7e66e3d
Author: Tony Luck <tony.luck@intel.com>
Date:   Sun Sep 11 18:35:10 2005 -0700

    Auto-update from upstream

Attempt to reproduce this commit is somewhat troubling.  The
'stupid' strategy and git-resolve resolves cleanly and Tony's
commit matches what 'git-resolve' does (obviously that is the
algorithm everybody uses).

But the 'resolve' strategy says this is case #16 (and resolves
this case differently but I think it is just by luck). This
indicates that Tony _might_ have committed what he did not
wanted to.  The path involved is arch/mips/kernel/offset.c.

    [Tony, I think you've seen this one once in different
    commit.  The terminology "case #16" means your merge has
    more than one merge base candidates:

        Ancestor#1 -- -- Your tree
                     X
        Ancestor#2 -- -- Other tree

    and when a path in your tree matches Ancestor #i and the
    same path in the other tree matches Ancestor #j (i!=j).

    The default git merge algorithm picks a single ancestor that
    gives the least number of conflicting paths during the
    merge, and compares your tree and other tree against it and
    pick the one that changed since that ancestor if only one
    side changed that path.  But in case #16, depending on which
    ancestor we pick, the result may come from your tree or
    other tree, and obviously we do a wrong thing with 50%
    probability.

    Thie _could_ indicate that you _might_ be losing a reverted
    you made in your line of development being overwritten by
    what the other tree did.]

BTW, Fredrik, the 'recursive' merge dies with this:

Trying merge strategy recursive...
Merging 357d596bd552ad157a906289ab13ea6ba7e66e3d with aa2dca4563b0629ecd9d9994dfdf39f29ff1b43f
Merging: 
357d596bd552ad157a906289ab13ea6ba7e66e3d Merge branch 'release' of master.kernel.org:/pub/scm/linux/kernel/git/aegl/linux-2.6  
aa2dca4563b0629ecd9d9994dfdf39f29ff1b43f Manual merge of kernel/sched.c and arch/ia64/kernel/mca_asm.S 
found 3 common ancestor(s): 
a1cddb88920b915eaba10712ecfd0fc698b00a22 [IA64-SGI] Add new vendor-specific SAL calls for: 
6cf07a8cc86a0b471466c7fe45892f7ef434015b [IA64] Fix nasty VMLPT problem... 
49a28cc8fd26f5317c47a9aeb2bdd1c33e21738e [IA64] MCA/INIT: remove obsolete unwind code 
  Merging: 
  a1cddb88920b915eaba10712ecfd0fc698b00a22 [IA64-SGI] Add new vendor-specific SAL calls for: 
  6cf07a8cc86a0b471466c7fe45892f7ef434015b [IA64] Fix nasty VMLPT problem... 
  found 1 common ancestor(s): 
  d8971fcb702e24d1e22c77fd1772f182ffee87e3 [INET]: compile errors when DEBUG is defined 
Traceback (most recent call last):
  File "/home/junio/bin/Linux/git-merge-recursive", line 429, in ?
    firstBranch, secondBranch, graph)
  File "/home/junio/bin/Linux/git-merge-recursive", line 54, in merge
    graph, callDepth+1)
  File "/home/junio/bin/Linux/git-merge-recursive", line 62, in merge
    runProgram(['git-read-tree', h1.tree()])
  File "/home/junio/share/git-core/python/gitMergeCommon.py", line 93, in runProgram
    raise ProgramError(progStr, out)
ProgramError: git-read-tree 1d20af805193ab9982a48cb4c828c0f6af034c6c: fatal: failed to unpack tree object 1d20af805193ab9982a48cb4c828c0f6af034c6c

  parent reply	other threads:[~2005-09-14  5:56 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-07 16:47 [PATCH 0/2] A new merge algorithm, take 3 Fredrik Kuivinen
2005-09-07 16:50 ` [PATCH 1/2] Add '-i' flag to read-tree to make it ignore whats in the working directory Fredrik Kuivinen
2005-09-11  2:54   ` Unified merge driver pushed out to "master" branch Junio C Hamano
2005-09-11 21:05     ` Fredrik Kuivinen
2005-09-12  1:23       ` Junio C Hamano
2005-09-14  5:56     ` Junio C Hamano [this message]
2005-09-14 16:11       ` Another merge test case from the kernel tree Daniel Barkalow
2005-09-14 16:30         ` Junio C Hamano
2005-09-14 17:42       ` Fredrik Kuivinen
2005-09-14 17:51         ` Junio C Hamano
2005-09-15  0:47       ` Yet another set of merge test cases " Junio C Hamano
2005-09-19 16:13         ` Fredrik Kuivinen
2005-09-20  1:53           ` Junio C Hamano
2005-09-20  5:50             ` Fredrik Kuivinen
2005-09-07 16:51 ` [PATCH 2/2] A new merge algorithm Fredrik Kuivinen
2005-09-07 18:33 ` [PATCH 0/2] A new merge algorithm, take 3 Daniel Barkalow
2005-09-08  6:06   ` Fredrik Kuivinen
2005-09-08 15:27     ` Daniel Barkalow
2005-09-08 20:05       ` Fredrik Kuivinen
2005-09-08 21:27         ` Daniel Barkalow
2005-09-07 18:36 ` Junio C Hamano
     [not found]   ` <431F34FF.5050301@citi.umich.edu>
     [not found]     ` <7vvf1cz64l.fsf@assigned-by-dhcp.cox.net>
2005-09-08 15:06       ` Chuck Lever
2005-09-08 16:51         ` Junio C Hamano
2005-09-08 17:19           ` Linus Torvalds
2005-09-08 17:51             ` Junio C Hamano
2005-09-08 18:16             ` Chuck Lever
2005-09-08 18:35               ` Linus Torvalds
2005-09-08 18:58                 ` Chuck Lever
2005-09-08 20:59                   ` Linus Torvalds
2005-09-09  7:44                   ` [RFH] Merge driver Junio C Hamano
2005-09-09 16:05                     ` Daniel Barkalow
2005-09-09 16:43                       ` Junio C Hamano
2005-09-09 17:25                         ` Daniel Barkalow
2005-09-11  4:58                     ` Junio C Hamano
2005-09-12 21:08                     ` Fredrik Kuivinen
2005-09-12 21:16                       ` Junio C Hamano
2005-09-13 20:33                         ` Fredrik Kuivinen
2005-09-13 20:46                           ` Junio C Hamano
2005-09-08 20:54   ` [PATCH 0/2] A new merge algorithm, take 3 Junio C Hamano
2005-09-08 21:23     ` A Large Angry SCM

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=7vpsrcqjj6.fsf_-_@assigned-by-dhcp.cox.net \
    --to=junkio@cox.net \
    --cc=barkalow@iabervon.org \
    --cc=freku045@student.liu.se \
    --cc=git@vger.kernel.org \
    --cc=tony.luck@intel.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.
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).