Syncing custodian tree (the new way) - What am I doing wrong?
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
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
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/masterAlbert?
(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.
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/masterAlbert?
(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-bootdepending on the shell used.
I'll amend the Wiki pages to make that clear.
Regards,
Graeme
Quoted 6 lines · Graeme Russ
git checkout master
git rebase ${upstream}/masterBut 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
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/masterAlbert?
(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}.gitWhere 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}/masterBut 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.