[U-Boot] Attn Maintainers: git advise needed (how to fix messed up repo)

Mike Frysinger vapier at gentoo.org
Tue Nov 29 05:49:03 CET 2011


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.

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
-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/20111128/232ec7a1/attachment.pgp>


More information about the U-Boot mailing list