From: Fredrik Kuivinen Date: Wed, 14 Sep 2005 17:42:51 GMT Subject: Re: Another merge test case from the kernel tree. Message-ID: <20050914174251.GA21639@c165.ib.student.liu.se> In-Reply-To: <7vpsrcqjj6.fsf_-_@assigned-by-dhcp.cox.net> On Tue, Sep 13, 2005 at 10:56:45PM -0700, Junio C Hamano wrote: ... > 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 > It works for me. The 'recursive' strategy cleanly merges this and produces a result identical to the actual commit. The tree object 1d20af805193ab9982a48cb4c828c0f6af034c6c is the tree of the commit a1cddb88920b915eaba10712ecfd0fc698b00a22 which is one of the common ancestors. Are you sure that you got the entire repository? It took some time for me to figure out that 'git clone rsync://rsync.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git aegl.git' will _not_ give you a usable repository. You have to change aegl.git/.git/objects/objects/info/alternates before it becomes usable. - Fredrik