On Monday 28 November 2011 22:35:24 Graeme Russ wrote: > On Tue, Nov 29, 2011 at 2:31 PM, Mike Frysinger wrote: > > the expected behavior of downstream users is apparently to always > > fetch+rebase rather than fetch+merge (what "pull" normally does). this > > is pretty unusual (and in most git circles, unforgivable as the > > "default" workflow). but as i'm > > OK, so what would be a more acceptable workflow?
never rebase anything you want other people to be working off of :). the downside is that any commit you've published cannot be modified. one way around this is to have three branches: - one that tracks mainline, and you only add stuff when you're going to send a pull request to Wolfgang - one that keeps all your "clean" patches and gets rewritten constantly (and needs --force to publish) - one that gets all the incremental fixes that people can pull from and always have a consistent history, and gets merge commits it's more work to be sure, so it's up to you how you want to develop > And just quickly back to the problem at hand - How do I fix the 'duplicate > commits' problem I already have? you can either use the --force flag to push your rewritten history (in which case everyone downstream from you also needs to rewrite their history), or fix your history locally before pushing the update: - fetch *your* current remote master, *not* Wolfgang's master - normally your repo is listed as "origin" ... but you'd have to read .git/config to find out exactly what it is ... - save any patches you care about (git format-patch/etc...) - reset your local master to your current remote master $ git checkout master $ git reset --hard origin/master - apply any new changes you wanted to publish $ git cherry-pick <sha1> $ git am -3 *.patch ...whatever... - push out your new local master branch that only has new changes compared to the already published version -mike
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot