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

Reply via email to