Hi Mike, On Tue, Nov 29, 2011 at 3:49 PM, Mike Frysinger <vap...@gentoo.org> wrote: > On Monday 28 November 2011 23:17:47 Graeme Russ wrote: >> My development is done using stacked git on development branches (I'm even >> considering using an entirely independent local git repo 'just in case') > > that's fine. it's just a matter of how often you want to publish patches to > the wider world. i publish all my bleeding edge stuff, but it's in a "next" > style branch. > >> With respect to u-boot-x86 - I simply want to keep it up-to-date with >> mainline and 'git am' patches I've saved from patchwork >> >> So how do I do this - Sorry, but I'm just not getting it - To me, it looks >> like your assuming I want to stick to my existing (flawed) workflow. I >> actually want to go back to square one and 'get it right' > > for the published branch, you'll have to have merge commits in it. some > people don't want any merge commits (keep everything linear), while others > don't think really any are bad. i'm kind of in between ... i don't mind > merging of "good" branches. > > any ways, if you want to publish your local changes with Wolfgang's latest > changes without having Wolfgang pull it first, then you'd do: > $ git checkout master > $ git fetch <upstream uri> > $ git merge u-boot/master > $ git push <x86 uri> master > you shouldn't do this too often though otherwise you'll get a whole lot of > merge commits cluttering up your history. look at Wolfgang's tree starting > around commit f9342e2c3e81d62. that's fine for Wolfgang (since he's merging > many trees), but imo, custodian trees shouldn't be gathering merge commits > which are then sent to Wolfgang for merging.
Ah, now I get it - Perhaps the wiki should be changed (it has a rebase instead of a merge). And I think this is where it all went pear-shaped for me - I had been rebasing, but then I threw a merge into the mix I think I need to do some reading up on 'rebase' versus 'merge' in git So then the question becomes - what about developers doing x86 work - I may have patches published in u-boot-x86/master which have not been pulled by Wolfgang, but u-boot/master may also contain patches that are needed Can you merge a local repo with multiple remotes? So could developer 'x': $ git checkout local_dev_branch_for_feature_x $ git fetch u-boot $ git fetch u-boot-x86 $ git merge u-boot/master $ git merge u-boot-x86/master $ code...code...code $ git format-patch $ git send-email > i'd draw some ascii diagrams of the commit history, but i'm not sure it would > help. instead, run `gitk` and look at the tree on the left around the merge > commits. hopefully that'll clear things up. > >> > - reset your local master to your current remote master >> > $ git checkout master >> > $ git reset --hard origin/master >> >> I don't think this will work - The remote master (i.e. u-boot-x86/master >> on the denx server) has the duplicate commits already... > > oh, you've already published the bum history ? i thought it was only local. > then you'll have to do: > $ git checkout master > $ git rebase u-boot/master > $ git push --force <remote uri> master Hmm, I don't think this will, in and of itself, help - The duplicate commits are all local to u-boot-x86/master (they are all x86 patches, not u-boot patches) but I'll give it a go first... Failing that: $ git checkout master $ git reset --hard <parent of initial instance of first duplicate commit> $ git push --force <remote uri> master $ git fetch u-boot $ git merge u-boot/master $ git am <patchwork patches> $ git push <remote uri> master Regards, Graeme _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot