[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH 1/1] OpenBIOS: Switch over to official OpenB
From: |
Mark Cave-Ayland |
Subject: |
Re: [Qemu-devel] [RFC PATCH 1/1] OpenBIOS: Switch over to official OpenBIOS git repo |
Date: |
Tue, 28 Jun 2016 21:43:06 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.1.0 |
On 28/06/16 14:44, Stefan Hajnoczi wrote:
> On Tue, Jun 28, 2016 at 7:11 AM, Jeff Cody <address@hidden> wrote:
>> On Mon, Jun 27, 2016 at 07:48:23AM +0100, Mark Cave-Ayland wrote:
>>> On 21/06/16 14:48, Mark Cave-Ayland wrote:
>>>
>>>> On 21/06/16 11:28, Stefan Hajnoczi wrote:
>>>>
>>>>> On Tue, Jun 21, 2016 at 01:40:42AM -0400, Jeff Cody wrote:
>>>>>> This update should preserve git history, and allow seamless switching
>>>>>> over to the official openbios git repo, rather than pulling from the
>>>>>> svn mirror. All prior history from the svn repository should still be
>>>>>> preserved (i.e., commit hashes are the same for historical commits).
>>>>>>
>>>>>> In the roms/openbios submodule, the branch "origin/official" is the
>>>>>> latest mirror of the official git repository (fetched daily).
>>>>>>
>>>>>> Signed-off-by: Jeff Cody <address@hidden>
>>>>>> ---
>>>>>> roms/openbios | 2 +-
>>>>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>>>
>>>>> Assuming the git.qemu-project.org openbios.git remote and .git/config
>>>>> mirror setting has been updated to use the new upstream git repo:
>>>>>
>>>>> Reviewed-by: Stefan Hajnoczi <address@hidden>
>>>>
>>>> Is it possible to switch this around, so that there is a legacy branch
>>>> which points to the current HEAD and master points to the new, upstream
>>>> git HEAD? Then it means if someone clones either the
>>>> git.qemu-project.org repository or the official repository then the
>>>> default master branch will point to the same HEAD.
>>>
>>> Urgent ping? It has been another week, we're coming up to soft freeze
>>> and the PPC guys are urgently after an OpenBIOS fix.
>>>
>>> As per the above I'd really like the branches switched around so that
>>> both the git.qemu-project.org master and github.com master are exactly
>>> the same HEAD although I believe it may be technically possible to do
>>> this part separately once the HEAD switch is in? If so, please can we
>>> apply this and then I can line up and attempt to push the outstanding
>>> patches to the new github master later this evening.
>>>
>>
>> If we want something other than this patch, so that the openbios git repo
>> hosted on qemu.org has 'master' as the new github tracking, we might be able
>> to do that with a git-merge. Here are the three methods I am thinking of:
>>
>>
>> A) For 'master' referencing new github hashes:
>> git fetch github
>> git merge --no-edit github/master
>
>
>> git push /pub/git/openbios.git master:master
>>
>>
>> B) Old, prior behavior for SVN:
>> git svn fetch svn
>> git merge git-svn
>> git push /pub/git/openbios.git master:master
>>
>>
>> C) Current behavior, as of the submitted patch above, this is what is being
>> run:
>> git svn fetch svn
>> git merge git-svn
>> git fetch github
>> git push /pub/git/openbios.git master:master
>> git push /pub/git/openbios.git official:official
>> (This seemed safest to run, as old behavior remains unchanged)
>>
>> If we do A), we'll have merge commits with just the auto-generated merge
>> message, and I'm not sure this is what you want. Thoughts?
>
> No, I think A is not appropriate because the mirror must have the
> exact same commit IDs as github. Only fast-forward merges are
> allowed, so I would use --ff-only instead. The first time you begin
> using the github repo you'll need git reset --hard github/master to
> move from the old svn commit history to the new github history.
>
> It's important to keep the svm commits so old versions of QEMU still
> work. You can ensure that the garbage collector does not delete the
> commits by tagging the latest svn head.
Yes, this is exactly what I'm thinking. Given that the repository is
already merged, is it not just as simple as:
git checkout master -b legacy
git checkout master
git reset --hard 36785d7
And then change the nightly script to "git pull origin/master" with the
origin remote set to the github.com repository. I'm also fine with
asking existing developers to switch over to the new master once we're done.
ATB,
Mark.