[U-Boot] Attn Maintainers: git advise needed (how to fix messed up repo)
Mike Frysinger
vapier at gentoo.org
Wed Nov 30 00:35:09 CET 2011
On Tuesday 29 November 2011 17:57:39 Graeme Russ wrote:
> 1) ${upstream}/master merges in multiple conflicting ${sub-repo}/master
> and the order that they get pulled results in a conflict
when a merge is done and a conflict is thrown up, it's up to the guy doing the
merge to resolve that conflict and commit the result. this is considered
"normal" in the git workflow. just search the git log for "Conflicts:" to see
this in action.
> 2) ${sub-repo}/master has been published but not pulled before more
> patches have been added to ${upstream}/master - If ${sub-repo}/master
> does a fetch/pull of ${upstream}/master, there will be a conflict
there will only be a conflict, if there's a conflict (i.e. two patches changing
the same file in the same place). simply having different changesets in the
repos is normal git workflow. this is why we have "merge commits" in the git
log. these show up all the time when Wolfgang merges branches.
> 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.
> Mike, you were saying that you don't keep your ${sub-repo}/master sync'd
> with ${upstream}/master - I understand how that works when nothing in
> that you are responsible for ever changes in ${upstream}/master without
> going through your ${sub-repo}/master, but what about when that is not the
> case. For example, with some of the major architectural changes being made
> to create more common code, how to you ensure the patches in your
> ${sub-repo}/master do not conflict?
i keep them in a topic branch and ask Wolfgang to pull those, and i rewrite
those branches since they're "development" ones
most common example with my repo i think is the "sf" branch where i merge spi
flash related changes
> 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.
> Lastly, is there any real difference between a sub-repo and a branch?
from git's pov, not really. a sub-repo is just to keep things more cleanly
separated and to grants ACLs on a simpler basis. we could just as easily have
all sub-repos be in Wolfgang's tree in namespaced branches:
master
x86/master
blackfin/master
arm/master
arm/ti/master
arm/tegra/master
..........
but then things can get "noisy" as you see all the pushes/changes made by
other people. *shrug*.
-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/4aa9052e/attachment.pgp>
More information about the U-Boot
mailing list