From: Jens Lehmann <Jens.Lehmann@web.de>
To: Johan Herland <johan@herland.net>
Cc: Heiko Voigt <hvoigt@hvoigt.net>, git@vger.kernel.org
Subject: Re: [WIP PATCH 0/3] implement merge strategy for submodule links
Date: Tue, 15 Jun 2010 19:37:43 +0200 [thread overview]
Message-ID: <4C17BA67.4060500@web.de> (raw)
In-Reply-To: <201006150159.42680.johan@herland.net>
Am 15.06.2010 01:59, schrieb Johan Herland:
> My point is that when Git tries to suggest merge resolutions, it should
> purposefully NOT add these to the index, so that the user HAS to acknowledge
> them. This is similar to the default behaviour of 'git rerere' which
> resolves your conflicts automatically, but does not touch the corresponding
> "unmerged" index entries, so that you manually have to 'git add' the result.
I like that idea, as it avoids having unintended submodule commits added
silently to the superprojects index by the merge.
>> Lets assume Alice creates a feature branch feature_a for her development
>> and needs to modify the submodule and creates a branch there as well. At
>> the same time Bob develops feature_b and also needs changes in the
>> submodule and so he creates a feature branch there as well.
>>
>> Assume we now have the following history in the submodule:
>>
>> B---C---D [feature_a]
>> / \
>> A---E---F---G---K [master]
>> \ /
>> H---I---J [feature_b]
>>
>> Now during the development of her branch Alice would link D in the
>> superproject as it is the tip of her branch. Bob would do the same and
>> link to J as his tip. Now Alice sends out her branch to the reviewers
>> and after everybody is happy with it the maintainer merges her branch
>> first. The superproject links to D.
>
> No. The superproject would get a conflict between the A->D and A->F updates
> of the submodule. The correct resolution would be to go into the submodule,
> do the merge to produce G, and then record this as the correct merge
> resolution in the superproject.
But as far as I understood this patch this merge has already been done
inside the submodule (at least this is what the setup of the test case
seems to do at a quick glance).
> You want Git to do this automatically for you, whereas I think that Git
> should not be that "clever", because there are situations (as I've
> demonstrated previously in this thread) where the "cleverness" would do The
> Wrong Thing.
>
>> Now Bob does the same and the
>> maintainer wants to merge his branch and gets a merge conflict because D
>> and J do not have a parent/children relationship.
>
> Well, s/D/G/, but your point still stands. And the correct resolution is, of
> course, to merge G and J to produce K, and then record K in the superproject
> as the correct merge resolution.
>
> Again, the question is whether Git should do these submodule merges
> automatically, or not.
Hm, maybe I am missing something here, but isn't the question whether Git
should /use/ these submodule merges already done by a human being instead
of /doing them itself/? So isn't it just about making Git so clever it
proposes a merge already present in the submodule for recording in the
superproject when merging there?
> Feel free to post the patches, if you can spend the time making them. So
> far, there's been no other feedback in this thread, so maybe I'm alone in my
> worries...
I fully understand your worries concerning automagic merges inside a
submodule. But I really would like to see Git assisting me when merging
submodule commits in the superproject that have already been merged in
the submodule repo. And for me the first commit containing the others
is the one I would like to see then.
next prev parent reply other threads:[~2010-06-15 17:37 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-11 12:23 [WIP PATCH 0/3] implement merge strategy for submodule links Heiko Voigt
2010-06-11 12:23 ` [WIP PATCH 1/3] extend ref iteration for submodules Heiko Voigt
2010-06-11 12:23 ` [WIP PATCH 2/3] add missing && to submodule-merge testcase Heiko Voigt
2010-06-11 12:23 ` [WIP PATCH 3/3] implement automatic fast forward merge for submodules Heiko Voigt
2010-06-12 10:12 ` [WIP PATCH 0/3] implement merge strategy for submodule links Johan Herland
2010-06-12 12:06 ` Heiko Voigt
2010-06-13 17:59 ` Johan Herland
2010-06-14 17:02 ` Heiko Voigt
2010-06-14 23:59 ` Johan Herland
2010-06-15 17:37 ` Jens Lehmann [this message]
2010-06-16 0:05 ` Johan Herland
2010-06-16 17:16 ` Jens Lehmann
2010-06-16 21:32 ` Johan Herland
2010-06-16 22:11 ` Junio C Hamano
2010-06-17 0:39 ` Johan Herland
2010-06-17 21:13 ` Jens Lehmann
2010-06-18 9:40 ` Johan Herland
2010-06-18 13:55 ` Jens Lehmann
2010-06-19 9:43 ` Heiko Voigt
2010-06-19 15:54 ` Jens Lehmann
2010-06-19 10:17 ` Heiko Voigt
2010-06-19 13:15 ` Johan Herland
2010-06-19 15:52 ` [WIP PATCH 3/3] implement automatic fast forward merge for submodules Heiko Voigt
2010-06-20 18:04 ` [WIP PATCH 0/3] implement merge strategy for submodule links Junio C Hamano
2010-06-20 23:06 ` Johan Herland
2010-06-21 0:03 ` Junio C Hamano
2010-06-21 10:19 ` Johan Herland
2010-06-21 15:22 ` Junio C Hamano
2010-06-21 22:35 ` Johan Herland
2010-06-22 4:04 ` Junio C Hamano
2010-06-22 10:48 ` Johan Herland
2010-06-23 7:38 ` Finn Arne Gangstad
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=4C17BA67.4060500@web.de \
--to=jens.lehmann@web.de \
--cc=git@vger.kernel.org \
--cc=hvoigt@hvoigt.net \
--cc=johan@herland.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).