Hi All, I've asked Wolfgang the following, but it looks like he's just too snowed under at the moment...
Somehow I've managed to do something 'interesting' to the u-boot-x86 repository - It has duplicate patches. He's the sequence of events leading up to the problem $ git fetch u-boot remote: Counting objects: 2330, done. remote: Compressing objects: 100% (483/483), done. remote: Total 1820 (delta 1383), reused 1735 (delta 1305) Receiving objects: 100% (1820/1820), 450.98 KiB | 32 KiB/s, done. Resolving deltas: 100% (1383/1383), completed with 390 local objects. >From git://git.denx.de/u-boot 5721385..fdbe8b9 master -> u-boot/master $ git rebase u-boot/master First, rewinding head to replay your work on top of it... Applying: x86: Call hang() on unrecoverable exception Applying: cosmetic: checkpatch cleanup of arch/x86/cpu/*.c Applying: cosmetic: checkpatch cleanup of arch/x86/cpu/sc520/*.c Applying: cosmetic: checkpatch cleanup of arch/x86/lib/*.c Applying: cosmetic: checkpatch cleanup of board/eNET/*.c Applying: x86: Punt cold- and warm-boot flags Applying: sc520: Create arch asm-offsets Applying: x86: Add multiboot header Applying: x86: Provide more configuration granularity Applying: x86: Ensure IDT and GDT remain 16-byte aligned post relocation Applying: x86: Misc PCI touchups Applying: x86: Misc cleanups Applying: x86: Change printf to puts to avoid a buffer overflow Applying: x86: Fix how the location of the realmode and bios blobs are calculated Applying: x86: Don't relocate symbols which point to things that aren't relocated Applying: x86: Fix a few recently added bugs Applying: x86: Make the i8042 driver checkpatch clean Applying: x86: Fix some bugs in the i8402 driver when no controller is present Applying: x86: Import the glibc memset implementation Applying: x86: Wrap small helper functions from libgcc to avoid an ABI mismatch $ git push ssh://gu-...@git.denx.de/u-boot-x86 error: refs/tags/2009.01-rc2 does not point to a valid object! To ssh://gu-...@git.denx.de/u-boot-x86 ! [rejected] master -> master (non-fast-forward) error: failed to push some refs to 'ssh://gu-...@git.denx.de/u-boot-x86' To prevent you from losing history, non-fast-forward updates were rejected Merge the remote changes (e.g. 'git pull') before pushing again. See the 'Note about fast-forwards' section of 'git push --help' for details. So I tried to pull... $ git pull git://git.denx.de/u-boot-x86 >From git://git.denx.de/u-boot-x86 * branch HEAD -> FETCH_HEAD Auto-merging arch/x86/lib/Makefile CONFLICT (content): Merge conflict in arch/x86/lib/Makefile Auto-merging arch/x86/lib/board.c CONFLICT (content): Merge conflict in arch/x86/lib/board.c Automatic merge failed; fix conflicts and then commit the result. So I figured I'd just reset my local repo, pull in the denx version and start again $ git reset --hard 68d94e3f1476d26dd2512fd6c4c129865ba32fba $ git pull git://git.denx.de/u-boot-x86 >From git://git.denx.de/u-boot-x86 * branch HEAD -> FETCH_HEAD Merge made by recursive. I then reapplied the patchwork patches and pushed but now I have two copies of every patch between the last merge and the new patches as per the following pull request: $ git request-pull u-boot/master git://git.denx.de/u-boot-x86.git master The following changes since commit fdbe8b9a2d1858ba35dd6214315563ad44d4a0e3: Merge branch 'h...@denx.de' of git://git.denx.de/u-boot-staging (2011-11-23 21:23:45 +0100) are available in the git repository at: git://git.denx.de/u-boot-x86.git master Gabe Black (11): x86: Change printf to puts to avoid a buffer overflow x86: Fix how the location of the realmode and bios blobs are calculated x86: Don't relocate symbols which point to things that aren't relocated x86: Change printf to puts to avoid a buffer overflow x86: Fix how the location of the realmode and bios blobs are calculated x86: Don't relocate symbols which point to things that aren't relocated x86: Fix a few recently added bugs x86: Make the i8042 driver checkpatch clean x86: Fix some bugs in the i8402 driver when no controller is present x86: Import the glibc memset implementation x86: Wrap small helper functions from libgcc to avoid an ABI mismatch Graeme Russ (25): x86: Call hang() on unrecoverable exception cosmetic: checkpatch cleanup of arch/x86/cpu/*.c cosmetic: checkpatch cleanup of arch/x86/cpu/sc520/*.c cosmetic: checkpatch cleanup of arch/x86/lib/*.c cosmetic: checkpatch cleanup of board/eNET/*.c x86: Punt cold- and warm-boot flags sc520: Create arch asm-offsets x86: Add multiboot header x86: Provide more configuration granularity x86: Ensure IDT and GDT remain 16-byte aligned post relocation x86: Misc PCI touchups x86: Misc cleanups x86: Call hang() on unrecoverable exception cosmetic: checkpatch cleanup of arch/x86/cpu/*.c cosmetic: checkpatch cleanup of arch/x86/cpu/sc520/*.c cosmetic: checkpatch cleanup of arch/x86/lib/*.c cosmetic: checkpatch cleanup of board/eNET/*.c x86: Punt cold- and warm-boot flags sc520: Create arch asm-offsets x86: Add multiboot header x86: Provide more configuration granularity x86: Ensure IDT and GDT remain 16-byte aligned post relocation x86: Misc PCI touchups x86: Misc cleanups Merge git://git.denx.de/u-boot-x86 The 'error: refs/tags/2009.01-rc2 does not point to a valid object!' issue has been posted about before, and I did issue the git commands to purge this tag back then but it has not appeared to have stuck and now I can't find the email with the git command This should have been a trivial push - All the changes are restricted to arch/x86 or board/eNET except for the i8042 patch. There have been no other edits to any of these files by anyone else so there should never have been any conflicts. I've seen 'non-fast-forward updates were rejected' before but I really don't undetstand what the problem is - The only thing I can think of is that stg (stacked git) may be the cause. I think once this is sorted I'll setup my local copy of the denx u-boot-x86 repo completely independent of my development repo. This has the added benifit that since I 'git am' from patches downloaded from patchwork anyway, it make it impossible for rogue patches to sneak in. But in the meantime, how can I safely fix the denx u-boot-x86 repo so I can safely send a pull request? I'm thinking: > git reset -hard 5721385b187b3154c7768e6c182501022f4e2e45 > git push -f ssh://gu-...@git.denx.de/u-boot-x86 > git fetch u-boot > git rebase u-boot/master > git push ssh://gu-...@git.denx.de/u-boot-x86 > git am <all of the outstanding x86 patches> > git push ssh://gu-...@git.denx.de/u-boot-x86 Note: 5721385b187b3154c7768e6c182501022f4e2e45 is the parent of the first duplicate patch "x86: Call hang() on unrecoverable exception" Thoughts? Regards, Graeme _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot