From: Finn Arne Gangstad Date: Tue, 28 Apr 2009 21:12:57 GMT Subject: Re: different git-merge behavior with regard to submodules in 1.6.2.4 vs. 1.6.2.1 Message-ID: <20090428211257.GA31191@pvv.org> In-Reply-To: <7v4ow8my1u.fsf@gitster.siamese.dyndns.org> On Tue, Apr 28, 2009 at 11:29:49AM -0700, Junio C Hamano wrote: > Tim Olsen writes: > > > $ git merge origin/deployed > > fatal: cannot read object 83055ffdddde60d41d9811aae77e78be50b329f8 > > 'rubydav': It is a submodule! > > > > Nothing in my history suggests that rubydav was at one point not a > > submodule. [...] > > So then I downgraded to the last debian package of git which is 1.6.2.1. > > Now I get a result which is more approachable: > > > > $ git merge origin/deployed > > Auto-merging rubydav > > CONFLICT (submodule): Merge conflict in rubydav - needs > > 167a344227c4745031d50a210869e6fb59a5ac03 > > Auto-merging server > > CONFLICT (submodule): Merge conflict in server - needs > > 82a74ae791c8563ca65f29187d2fe5ebfbc167ea > > Automatic merge failed; fix conflicts and then commit the result. > > > > Both merges are from freshly checked out clones. > > > > Is this a bug in 1.6.2.4? Please let me know what other information I > > can provide to help debug the problem. > > Thanks for a report. I think the following commits are involved. > > 39d8e27 simplify output of conflicting merge > 0eb6574 update cache for conflicting submodule entries > f37ae35 add tests for merging with submodules > > Clemens, these seem to be yours. Thoughts? The current error message is not an improvement I think, it should say that merge does not support merging submodules, not complain about being unable to read some object because it is a submodule. I added the "CONFLICT (submodule) Merge conflict .. needs " messages when I tried to work with submodules a while (1-2 years?) ago. The intention was that you could enter the submodule(s), write "git merge ", and resolve the conflict that way. git is unfortunately not capable of merging submodules at all, so I added these error messages to give me a hint about what I needed to do in conflicting submodules to get something useful. I have used git a lot more now, so maybe it is time to pick this up again and implement proper recursive sub-module merging. - Finn Arne