[U-Boot] Attn Maintainers: git advise needed (how to fix messed up repo)
Mike Frysinger
vapier at gentoo.org
Wed Nov 30 04:52:52 CET 2011
On Tuesday 29 November 2011 18:48:08 Graeme Russ wrote:
> On Wed, Nov 30, 2011 at 10:35 AM, Mike Frysinger wrote:
> > On Tuesday 29 November 2011 17:57:39 Graeme Russ wrote:
> >> Now ${upstream}/master is always the 'gold standard', so what does the
> >> conflicted sub-repo dpo with the already published patches?
> >
> > there are merge commits and sometimes conflicts in those merges. it
> > depends on the conflict type as to what Wolfgang will do: tell you to
> > rebase onto his master and thus it's your problem to resolve the
> > conflict, or he'll fix it up locally.
>
> At this point, how do you make the merge 'conflict free' without re-writing
> the sub-repo?
you can't. but the counter point is: why is this a problem ? if one patch is
tweaking the style, but other is deleting the code block altogether, you get a
conflict, but it's easy to resolve and commit the result. not the best
example, but many conflicts are trivial to resolve. this is considered part of
the git workflow as well -- people working in parallel on the same tree are
bound to touch the same code. rather than rebasing, do a merge, get a
conflict, and then fix the conflict and commit it as part of the merge commit.
it's happened at least 65 times since we switched to git:
$ git log | grep -c Conflicts:
65
> >> I had a look at u-boot-blackfin and I noticed that there are
> >> non-blackfin patches. u-boot-x86 also has the latest u-boot patches but
> >> there is no merge commit in u-boot-x86 - So how do the u-boot patches
> >> get into ${sub-repo}/master without a merge?
> >
> > i pull Wolfgang's master, put my Blackfin patches on top, and then
> > publish it and ask for a pull request. i don't pull newer updates from
> > Wolfgang until he's merged my changes. or at least, i don't publish the
> > updates.
>
> So you pull u-boot/master straight into u-boot-blackfin/master? From what
> I gather, this is the same as fetch/merge. So if you merge branch 'A' into
> branch 'B' you get a merge commit, and if you then merge 'B' into 'A' there
> is no second merge commit because the merge is already done?
correct. so when Wolfgang pulls my branch, he either fast forwards because he
hasn't done any new work, or he gets a merge commit. in either case, when i
pull his branch, mine is always a fast forward (since his tree has everything
mine does already).
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20111129/98f8c0c5/attachment.pgp>
More information about the U-Boot
mailing list