From mboxrd@z Thu Jan 1 00:00:00 1970 From: Albert ARIBAUD Date: Tue, 25 Oct 2011 18:20:07 +0200 Subject: [U-Boot] Syncing custodian tree (the new way) - What am I doing wrong? In-Reply-To: <4EA69E45.4020109@gmail.com> References: <4EA66869.7000106@gmail.com> <20111025075325.CBE8C1408EA7@gemini.denx.de> <4EA6980D.8010806@free.fr> <4EA69E45.4020109@gmail.com> Message-ID: <4EA6E1B7.8070801@aribaud.net> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Le 25/10/2011 13:32, Graeme Russ a ?crit : > Hi Albert, > > On 25/10/11 22:05, Albert ARIBAUD wrote: >> Le 25/10/2011 09:53, Wolfgang Denk a ?crit : >>> Dear Graeme Russ, >>> >>> In message<4EA66869.7000106@gmail.com> 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. >>> >>>> 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 > > 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. > 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. > 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. > 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. > 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, -- Albert.