[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [RFC for-4.7] Switching to a single qemu tree each per qemu-xen and qemu-trad
(CC-ing 2x QEMU maintainers and stable release manager) The separate trees are a holdover from mercurial, which didn't (at the time) have a good in-repo branching model. I propose that Xen 4.6 should be the last release which uses these split trees and that instead we combine them into just qemu-xen.git (upstream) and qemu-xen-traditional.git (our old fork), with branches in those repos to match our releases. I picked those names to match the libxl interface names for these. This will result in one place to get all the qemu stable branches for a given qemu type, without having to remember the naming scheme (which is counter-intuitive). It will allow easier cherry-picking and produce less places for users to look for our code etc. We could put all branches for both in the same tree but I think we want to just let qemu-xen-trad sit quietly in its own corner. Keeping it separate reinforces that it is almost completely frozen, also it saves me having to think up a branch naming scheme within a single repo. A proposed mapping for the two tree scheme which broadly follows the xen.git scheme is (paths relative to xenbits git root): qemu-xen-traditional: /staging/qemu-xen-unstable.git#master => /qemu-xen-traditional.git#staging /staging/qemu-xen-X.Y-testing.git#master => /qemu-xen-traditional.git#staging-X.Y /qemu-xen-unstable.git#master => /qemu-xen-traditional.git#master /qemu-xen-X.Y-testing.git#master => /qemu-xen-traditional.git#stable-X.Y NB the revision to use is still referenced in xen.git/Config.mk for each branch, no change here. XXX why do staging/* exist, and what pushes from staging to the other? Should we ditch one or the other? qemu-xen: /staging/qemu-upstream-unstable.git#master => /qemu-xen.git#staging /staging/qemu-upstream-X.Y-testing.git#master => /qemu-xen.git#staging-X.Y /qemu-upstream-unstable.git#master => /qemu-xen.git#master /qemu-upstream-X.Y-testing.git#master => /qemu-xen.git#stable-X.Y These are push gated by their respective qemu-upstream-* osstest flights. qemu-mainline: Upstream remains git://git.qemu.org/qemu.git. /osstest/qemu.git#mainline/xen-tested-master => /qemu-xen.git#upstream-tested /osstest/qemu.git should be removed. NB this is the same qemu-xen.git as above. Below is an osstest patch which implements this proposed scheme (I've not actually created any trees). The main open question is what to do about the existing split repos for existing stable branches. We could: * Teach osstest (ap-push) to push to the old tree as well as the new for existing (<= 4.6) branches only. * Push a Config.mk update to every stable branch and retire the existing trees on the next relevant point release, if there is one. In both cases perhaps combined with tweaking gitweb to omit the old names from the project list (http://xenbits.xen.org/gitweb/). Ian. From c87f628a7b505d46f2823252c0c3e3ae0fcb736b Mon Sep 17 00:00:00 2001 From: Ian Campbell <ian.campbell@xxxxxxxxxx> Date: Thu, 30 Jul 2015 13:42:03 +0100 Subject: [PATCH] Switch to merged qemu-xen{,-traditional}.git trees Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> --- ap-common | 7 +++---- ap-fetch-version | 10 ++++++++-- ap-fetch-version-old | 12 ++++++++---- ap-push | 18 ++++++++++++++---- 4 files changed, 33 insertions(+), 14 deletions(-) diff --git a/ap-common b/ap-common index dfeab9e..eb0624e 100644 --- a/ap-common +++ b/ap-common @@ -26,9 +26,7 @@ : ${TREE_XEN:=git://xenbits.xen.org/xen.git} : ${PUSH_TREE_XEN:=$XENBITS:/home/xen/git/xen.git} -#: ${TREE_QEMU:=git://mariner.uk.xensource.com/qemu-$xenbranch.git} -: ${TREE_QEMU:=git://xenbits.xen.org/staging/qemu-$xenbranch.git} - +: ${TREE_QEMU:=git://xenbits.xen.org/qemu-xen-traditional.git} : ${GIT_KERNEL_ORG:=git://git.kernel.org} : ${KERNEL_SCM:=${GIT_KERNEL_ORG}/pub/scm/linux/kernel/git} @@ -87,7 +85,8 @@ fi : ${TREEBASE_LINUX_XCP:=http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27} -: ${TREE_QEMU_UPSTREAM:=git://xenbits.xen.org/staging/qemu-upstream-${xenbranch#xen-}.git} +: ${TREE_QEMU_UPSTREAM:=git://xenbits.xen.org/qemu-xen.git} +: ${PUSH_TREE_QEMU_UPSTREAM=$XENBITS:/home/xen/git/qemu-xen.git : ${LOCALREV_QEMU_UPSTREAM:=daily-cron.$branch} : ${TREE_QEMU_MAINLINE:=git://git.qemu.org/qemu.git} diff --git a/ap-fetch-version b/ap-fetch-version index 8b41acf..754a398 100755 --- a/ap-fetch-version +++ b/ap-fetch-version @@ -53,9 +53,15 @@ qemu-mainline) repo_tree_rev_fetch_git $branch \ $TREE_QEMU_MAINLINE master $LOCALREV_QEMU_UPSTREAM ;; -qemu-upstream-*) +qemu-upstream-unstable) repo_tree_rev_fetch_git $branch \ - $TREE_QEMU_UPSTREAM master $LOCALREV_QEMU_UPSTREAM + $TREE_QEMU_UPSTREAM staging $LOCALREV_QEMU_UPSTREAM + ;; +qemu-upstream-*-testing) + branchcore=${branch#qemu-upstream-} + branchcore=${branchcore%-testing} + repo_tree_rev_fetch_git $branch \ + $TREE_QEMU_UPSTREAM staging-$branchcore $LOCALREV_QEMU_UPSTREAM ;; linux) repo_tree_rev_fetch_git linux \ diff --git a/ap-fetch-version-old b/ap-fetch-version-old index 0b4739b..8f7769a 100755 --- a/ap-fetch-version-old +++ b/ap-fetch-version-old @@ -32,8 +32,6 @@ select_xenbranch : ${BASE_LOCALREV_SEABIOS:=daily-cron.$branch.old} : ${BASE_LOCALREV_OVMF:=daily-cron.$branch.old} -: ${BASE_TREE_QEMU_UPSTREAM:=${TREE_QEMU_UPSTREAM/\/staging\//\/}} - if info_linux_tree "$branch"; then repo_tree_rev_fetch_git linux \ $BASE_TREE_LINUX_THIS $BASE_TAG_LINUX_THIS $BASE_LOCALREV_LINUX @@ -61,9 +59,15 @@ qemu-mainline) repo_tree_rev_fetch_git $branch \ $BASE_TREE_QEMU_MAINLINE mainline/xen-tested-master $LOCALREV_QEMU_MAINLINE ;; -qemu-upstream-*) +qemu-upstream-unstable) + repo_tree_rev_fetch_git $branch \ + $TREE_QEMU_UPSTREAM master $LOCALREV_QEMU_UPSTREAM + ;; +qemu-upstream-*-testing) + branchcore=${branch#qemu-upstream-} + branchcore=${branchcore%-testing} repo_tree_rev_fetch_git $branch \ - $BASE_TREE_QEMU_UPSTREAM master $LOCALREV_QEMU_UPSTREAM + $TREE_QEMU_UPSTREAM stable-$branchcore $LOCALREV_QEMU_UPSTREAM ;; linux) repo_tree_rev_fetch_git linux \ diff --git a/ap-push b/ap-push index 5967b42..9e5edad 100755 --- a/ap-push +++ b/ap-push @@ -30,8 +30,7 @@ select_xenbranch . ap-common TREE_LINUX=$PUSH_TREE_LINUX -TREE_QEMU_MAINLINE=$PUSH_TREE_QEMU_MAINLINE -TREE_QEMU_UPSTREAM=$XENBITS:/home/xen/git/qemu-upstream-${xenbranch#xen-}.git +TREE_QEMU_UPSTREAM=$PUSH_TREE_QEMU_UPSTREAM TREE_XEN=$PUSH_TREE_XEN TREE_LIBVIRT=$PUSH_TREE_LIBVIRT TREE_RUMPUSERXEN=$PUSH_TREE_RUMPUSERXEN @@ -63,12 +62,23 @@ xen-*-testing) ;; qemu-mainline) cd $repos/qemu-mainline - git push $TREE_QEMU_MAINLINE $revision:refs/heads/mainline/xen-tested-master + git push $TREE_QEMU_UPSTREAM $revision:refs/heads/upstream-tested ;; -qemu-upstream-*) +qemu-upstream-unstable) cd $repos/$branch git push $TREE_QEMU_UPSTREAM $revision:master ;; +qemu-upstream-*-testing) + branchcore=${branch#qemu-upstream-} + branchcore=${branchcore%-testing} + cd $repos/$branch + git push $TREE_QEMU_UPSTREAM $revision:stable-$branchcore + # Maybe push to historical stable branches too? + #case "$branch" in + #qemu-upstream-4.[23456]-testing) + #...XXX... + #esac + ;; linux-3.*) cd $repos/linux git push $TREE_LINUX $revision:tested/$branch -- 2.1.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |