On Thu, Jul 07, 2016 at 06:22:37PM +0100, Mark Cave-Ayland wrote: > On 07/07/16 04:12, Jeff Cody wrote: > > > Alright, here is what I think will work to switch over relatively > > painlessly, and move master over to the github hashes for the submodule. > > > > I haven't done it yet on the server, because I want to get another set of > > eyes double checking it (Stefan, Mark). However, I have mocked it up and > > tested it locally, so I think it should work fine, unless there are > > scenarios I missed. Here are the step-by-step details: > > > > > > Server side actions > > ===================== > > > > 1) In bare openbios.git repo (git://git.qemu.org/openbios.git): > > > > git tag svn-last-official 422b916 > > git branch svn-head 422b916 > > git branch -f master 36785d7 > > > > 2) openbios update repo (updated daily via cron): > > > > # update script contents > > # continue fetch svn commits for now as well > > # 'official' branch tracks github/master > > git svn fetch svn > > git merge git-svn > > git fetch github # official openbios github repo > > git push /pub/git/openbios.git master:svn-head > > git push /pub/git/openbios.git official:master > > > > > > Non-server side actions > > ====================== > > > > * QEMU new patch to switch over > > > > # normal submodule stuff: > > > > git submodule init > > git submodule update roms/openbios > > > > # create patch to switch over: > > cd roms/openbios > > git checkout master > > cd ../ > > git commit -a # assuming you made no other changes > > > > > > * Existing users of git://git.qemu.org/openbios.git as a standalone work > > repo: > > > > git fetch > > > > # if there are local commits / work they want to keep > > git rebase origin/master > > > > # alternatively: > > git reset --hard origin/master > > > > > > > > The above all seems to work in my testing. Stefan, Mark: do you see any > > glaring issues with the above? > > Hi Jeff, > > I've just worked through this locally and it looks pretty good - I've > documented a few minor alterations below where I've made them: >
Great, thanks. > > # Get qemu-project.org repository, fetch remote master > git clone --bare git://git.qemu.org/openbios.git > cd openbios.git > git remote add -f openbios-github https://github.com/openbios/openbios.git > > # Switch master to github > git tag svn-last-official 422b916 > git branch svn-head 422b916 > git branch -f master 36785d7 > > # official branch is no longer needed > git branch -D official > Yep, we should be able to get rid of the 'official' branch, as it won't be needed going forward. > > I see that there are still references to SVN in the nightly update, and > since the SVN repository will disappear as soon as the new git > repository is up and running and master now tracks master, I figured > this could be simplified right down to this: > > > # Nightly update > git fetch openbios-github > git push /pub/git/openbios.git master I wasn't sure if there was going to be an overlap period - if the SVN server is going offline, however, then I will go ahead and get rid of the svn fetch, merge, and push actions. > > > For the submodule switchover, the use of "git submodule init" seemed a > bit strange - I would have thought we'd be just fine starting with the > "git submodule update" line? Also I have a script for the remainder of > the switchover process that I use when updating the OpenBIOS roms, so as > soon as openbios.git is updated, I can send a pull request to switch the > submodule hash really easily. > > Finally for people who have work in branches from the old checkout, I'm > happy to suggest that they just do "git fetch" followed by "git rebase > origin/master" on any local branches of interest. > > Thanks! Jeff