Skip to contentSkip to conversation

Syncing custodian tree (the new way) - What am I doing wrong?

U-Boot Graeme Russ 5 participants 6 messages Oct 25, 2011

lore
Share & tools
lore
#0 lore raw

Wolfgang,

I'm trying to figure out what I'm doing wrong trying to sync my local x86 repo as per the 'new' instructions on the wiki. This is what I get:

graeme at helios:~/Source/U-Boot/x86$ git rebase ${upstream}/master
fatal: Needed a single revision
invalid upstream u-boot/master

Any idea?

Regards,

Graeme

#1 lore raw

Dear Graeme Russ,

Quoted 3 lines · In message <[email protected]> you wrote:

I'm trying to figure out what I'm doing wrong trying to sync my local x86 repo as per the 'new' instructions on the wiki. This is what I get:

I did not write (and actually not even read yet) these new instructions, so I cannot comment on this.

Quoted 3 lines

graeme at helios:~/Source/U-Boot/x86$ git rebase ${upstream}/master
fatal: Needed a single revision
invalid upstream u-boot/master

Albert?

Best regards,

Wolfgang Denk

Signature · 6 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Here is an Appalachian version of management's answer  to  those  who
are  concerned  with  the fate of the project: "Don't worry about the
mule. Just load the wagon."         - Mike Dennison's hillbilly uncle
#2 lore raw

Le 25/10/2011 09:53, Wolfgang Denk a ?crit :

Quoted 7 lines

Dear Graeme Russ,

Quoted 3 lines · In message<[email protected]> you wrote:

I'm trying to figure out what I'm doing wrong trying to sync my local x86 repo as per the 'new' instructions on the wiki. This is what I get:

Quoted 8 lines

I did not write (and actually not even read yet) these new instructions, so I cannot comment on this.

Quoted 3 lines

graeme at helios:~/Source/U-Boot/x86$ git rebase ${upstream}/master
fatal: Needed a single revision
invalid upstream u-boot/master

Albert?

(answering from my non-U-boot address)

I did write the changes, and I think I did post an announcement on the U-Boot list about it.

Re: Greame's problem:

I should have made it clear that '${upstream}' is just a way to represent the upstream tree, either u-boot or u-boot-arm. The actual command for x86 should thus be

git rebase u-boot/master

(or whatever name you gave to the upstream tree remote)

Alternatively, one could do

setenv upstream u-boot
or
set upstream=u-boot

depending on the shell used.

I'll amend the Wiki pages to make that clear.

Quoted 3 lines

Best regards,

Wolfgang Denk

Amicalement,

Signature · 1 line
Albert.
#3 lore raw

Hi Albert,

Quoted 22 lines · Albert ARIBAUD

Le 25/10/2011 09:53, Wolfgang Denk a ?crit :

Quoted 7 lines

Dear Graeme Russ,

Quoted 3 lines · In message<[email protected]> you wrote:

I'm trying to figure out what I'm doing wrong trying to sync my local x86 repo as per the 'new' instructions on the wiki. This is what I get:

Quoted 8 lines

I did not write (and actually not even read yet) these new instructions, so I cannot comment on this.

Quoted 3 lines

graeme at helios:~/Source/U-Boot/x86$ git rebase ${upstream}/master
fatal: Needed a single revision
invalid upstream u-boot/master

Albert?

(answering from my non-U-boot address)

I did write the changes, and I think I did post an announcement on the U-Boot list about it.

Quoted 7 lines

Re: Greame's problem:

I should have made it clear that '${upstream}' is just a way to represent the upstream tree, either u-boot or u-boot-arm. The actual command for x86 should thus be

git rebase u-boot/master

I was already clear on that - I had set upstream=u-boot - Note the error message:

fatal: Needed a single revision
invalid upstream u-boot/master

                 ^^^^^^

I think the problem is at:

git fetch git://git.denx.de/${upstream}.git

Where are we actually pulling the upstream tree into?

No my repo is at ~/Source/U-Boot/x86/ and I have uboot and master branches there (as per previous wiki instructions) so I tried:

git checkout uboot
git fetch git://git.denx.de/${upstream}.git
git checkout master
git rebase ${upstream}/master

But that is not right - I would normally rebase to uboot

I think there is a missing link here somewhere

Quoted 5 lines

(or whatever name you gave to the upstream tree remote)

Alternatively, one could do

Quoted 8 lines

setenv upstream u-boot
or
set upstream=u-boot

depending on the shell used.

I'll amend the Wiki pages to make that clear.

Regards,

Graeme

#4 lore raw
Quoted 6 lines · Graeme Russ

git checkout master
git rebase ${upstream}/master

But that is not right - I would normally rebase to uboot

I think there is a missing link here somewhere

${upstream}/master needs to correspond to a remote tracking branch. Do you have a remote named after ${upstream} ? ("git remote" prints them, "git remote add <name> <url>" adds them). I think that might be the missing link.

Quite often you'll have a remote called origin since that is created automatically and points at the URL you cloned from. I guess a "normal" workflow would be:

git checkout <local-branch>
git fetch <remote>
git rebase <remote>/master

Bye for now,

Signature · 3 lines
Laurence Withers, <[email protected]>                http://www.guralp.com/
Direct tel:+447753988197 or tel:+443333408643               Software Engineer
General support queries: <[email protected]>         CMG-DCM CMG-EAM CMG-NAM
#5 lore raw
In reply to Graeme Russ

Le 25/10/2011 13:32, Graeme Russ a ?crit :

Quoted 27 lines

Hi Albert,

Quoted 24 lines · Albert ARIBAUD

Le 25/10/2011 09:53, Wolfgang Denk a ?crit :

Quoted 7 lines

Dear Graeme Russ,

Quoted 3 lines · In message<[email protected]> you wrote:

I'm trying to figure out what I'm doing wrong trying to sync my local x86 repo as per the 'new' instructions on the wiki. This is what I get:

Quoted 8 lines

I did not write (and actually not even read yet) these new instructions, so I cannot comment on this.

Quoted 3 lines

graeme at helios:~/Source/U-Boot/x86$ git rebase ${upstream}/master
fatal: Needed a single revision
invalid upstream u-boot/master

Albert?

(answering from my non-U-boot address)

I did write the changes, and I think I did post an announcement on the U-Boot list about it.

Re: Greame's problem:

Quoted 8 lines
Quoted 5 lines

I should have made it clear that '${upstream}' is just a way to represent the upstream tree, either u-boot or u-boot-arm. The actual command for x86 should thus be

git rebase u-boot/master

I was already clear on that - I had set upstream=u-boot - Note the error message:

Sorry, from my non-U-Boot e-mail address I only had what Wolfgang quoted.

Quoted 8 lines

fatal: Needed a single revision
invalid upstream u-boot/master

                  ^^^^^^

I think the problem is at:

git fetch git://git.denx.de/${upstream}.git

Where are we actually pulling the upstream tree into?

We are not pulling -- that's the point. We are fetching, i.e. we are importing all commits in the upstream remote and all its local branches will appear as remote branches to us.

Quoted 4 lines

No my repo is at ~/Source/U-Boot/x86/ and I have uboot and master branches there (as per previous wiki instructions) so I tried:

git checkout uboot

That one (and actually the uboot branch itself) is unneeded.

Quoted 5 lines

git fetch git://git.denx.de/${upstream}.git
git checkout master
git rebase ${upstream}/master

But that is not right - I would normally rebase to uboot

No, you would not; you would rebase to your upstream's master.

The old instructions introduced a local branch called uboot which only served as a proxy for ${upstream}/master by regularly merging it (and these merges were actually always fast-forwards). So doing a rebase onto uboot is exactly the same as onto ${upstream}/master.

Quoted 1 line

I think there is a missing link here somewhere

I should have made my rationale clear when posting my update message on the list, sorry.

As I just said, uboot was just a placeholder for ${upstream}/master, and the old instructions kept it in sync through git merge although these merges were always fast-forwards by nature. What I did was remove uboot and use ${upstream}/master, and thus replace the pull into uboot by a simple fetch of ${upstream} directly, the net benefit being that there is now no git merge involved, hence zero risk of undue merges -- and I've seen such undue merges in the few last release cycles.

Amicalement,

Signature · 1 line
Albert.