Xen Project Repositories: Difference between revisions
Rcpavlicek (talk | contribs) |
Lars.kurth (talk | contribs) (→Qemu: Updated Qemu section (it was out-of-date)) |
||
(10 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
= Version Control = |
= Version Control = |
||
As of February 2013 Xen is maintained using the [http://git-svn.com GIT] version control system. Previously Xen was maintained in [http://mercurial.selenic.com/ Mercurial] and mirrors of git into mercurial are still provided. |
As of February 2013 Xen is maintained using the [http://git-svn.com GIT] version control system. Previously, the Xen Project was maintained in [http://mercurial.selenic.com/ Mercurial] and mirrors of git into mercurial are still provided. |
||
= Staging = |
= Staging = |
||
All changes to Xen, whether to mainline or a stable branch, are initially pushed to a ''staging'' branch. These staging branches are then tested using the [http://xenbits.xen.org/gitweb/?p=osstest.git;a=summary automated test system]. |
All changes to Xen Project software, whether to mainline or a stable branch, are initially pushed to a ''staging'' branch. These staging branches are then tested using the [http://xenbits.xen.org/gitweb/?p=osstest.git;a=summary automated test system]. |
||
When the tests passed the ''staging'' trees are automatically pushed to the primary trees. |
When the tests passed the ''staging'' trees are automatically pushed to the primary trees. |
||
= Repositories = |
= Repositories = |
||
== Primary Xen Repository == |
== Primary Xen Project Repository == |
||
The main Xen repository is [http://xenbits.xen.org/gitweb/?p=xen.git git://xenbits.xen.org/xen.git]. This single repository contains branches for each of the stable maintenance branches as well as development and staging branches. |
The main Xen Project repository is [http://xenbits.xen.org/gitweb/?p=xen.git git://xenbits.xen.org/xen.git]. This single repository contains branches for each of the stable maintenance branches as well as development and staging branches. |
||
=== Stable release branches (stable-4.3) === |
=== Stable release branches (stable-4.4, stable-4.3, ...) === |
||
More information on stable releases can be found in [[Xen Maintenance Releases]]. |
More information on stable releases can be found in [[Xen Project Maintenance Releases]]. |
||
The latest stable release from this branch is available from [http://xenproject.org/downloads/xen-archives.html |
The latest stable release from this branch is available from [http://xenproject.org/downloads/xen-archives.html http://xenproject.org/downloads/xen-archives.html]. |
||
http://xenproject.org/downloads/xen-archives.html]. |
|||
These branches contain the in-progress work on the next release on the previous stable branch and are named '''stable-X.Y''' (and '''staging-X.Y''') where '''X.Y''' is the version. |
These branches contain the in-progress work on the next release on the previous stable branch and are named '''stable-X.Y''' (and '''staging-X.Y''') where '''X.Y''' is the version. |
||
⚫ | |||
e.g. for the Xen 4.3.x stable branch: |
|||
⚫ | |||
⚫ | |||
=== Xen development branch (master) === |
=== Xen development branch (master) === |
||
These branches contain the development version of Xen. |
These branches contain the development version of Xen Project software. |
||
* '''[http://xenbits.xen.org/gitweb/?p=xen.git;a=shortlog;h=refs/heads/master master]''' (''[http://xenbits.xen.org/gitweb/?p=xen.git;a=shortlog;h=refs/heads/staging staging]'') |
* '''[http://xenbits.xen.org/gitweb/?p=xen.git;a=shortlog;h=refs/heads/master master]''' (''[http://xenbits.xen.org/gitweb/?p=xen.git;a=shortlog;h=refs/heads/staging staging]'') |
||
=== TAGS === |
|||
Releases are tagged using the following conventions: |
|||
* '''RELEASE-X.Y.Z''' (e.g. RELEASE-4.4.0 for Xen 4.4, RELEASE-4.3.2 for Xen 4.3.2) |
|||
* Release candidates are tagged '''X.Y.Z-rc{number}''' with {number} > 0 |
|||
== Other components hosted or mirrored on xenbits == |
== Other components hosted or mirrored on xenbits == |
||
As well as the Xen repository a Xen system contains several other components either developed as part of Xen or incorporated from other projects. |
As well as the Xen Project repository, a Xen system contains several other components either developed as part of Xen Project or incorporated from other projects. |
||
=== Qemu === |
=== Qemu === |
||
Line 43: | Line 46: | ||
More information can be found at [[QEMU Upstream]] |
More information can be found at [[QEMU Upstream]] |
||
==== Qemu Xen |
==== Qemu Xen Tree ==== |
||
The '''qemu-xen''' code is maintained upstream in the [http://wiki.qemu.org/Main_Page qemu.org] git trees. In addition the Xen project also maintains its own stable branch of qemu, based on the upstream stable branches with a small number of additional fixes for Xen. |
|||
⚫ | |||
⚫ | |||
Stable branches are '''qemu-upstream-X.Y-testing.git'''. e.g. |
|||
with a branch for each release of Xen named '''stable-VERSION''', |
|||
e.g. [https://xenbits.xen.org/gitweb/?p=qemu-xen.git;a=shortlog;h=refs/heads/stable-4.10 stable-4.10]. |
|||
Upstream: http://www.qemu.org |
|||
==== Qemu Xen Traditional Trees ==== |
==== Qemu Xen Traditional Trees ==== |
||
The '''qemu-xen-traditional''' fork is maintained on [http://xenbits.xen.org xenbits] |
|||
⚫ | |||
⚫ | |||
There are branches for each release of Xen named '''stable-VERSION''' e.g. [https://xenbits.xen.org/gitweb/?p=qemu-xen-traditional.git;a=shortlog;h=refs/heads/stable-4.10 stable-4.10]. |
|||
Stable release branches are '''qemu-xen-X.Y-testing.git'''. e.g. |
|||
⚫ | |||
=== Guest Firmware === |
=== Guest Firmware === |
||
Line 92: | Line 91: | ||
Note that the Linux branches are not hosted on xenbits. |
Note that the Linux branches are not hosted on xenbits. |
||
For more information on selecting suitable domain 0 kernels please see |
For more information on selecting suitable domain 0 kernels please see [[XenDom0Kernels]]. |
||
The recommended Linux kernel branch is the upstream stable release branch: |
The recommended Linux kernel branch is the upstream stable release branch: |
||
Line 104: | Line 103: | ||
Additional information: |
Additional information: |
||
* List of features in various Xen kernel trees: [[XenKernelFeatures]] |
* List of features in various Xen Project kernel trees: [[XenKernelFeatures]] |
||
* More information about pvops kernels: [[XenParavirtOps]] |
* More information about pvops kernels: [[XenParavirtOps]] |
||
Line 113: | Line 112: | ||
For a repository ''git://xenbits.xen.org/foo.git'' you can clone via http using ''http://xenbits.xen.org/git-http/foo.git''. |
For a repository ''git://xenbits.xen.org/foo.git'' you can clone via http using ''http://xenbits.xen.org/git-http/foo.git''. |
||
== Mercurial mirrors of Xen == |
== Mercurial mirrors of Xen Project software == |
||
In addition to the git repositories of Xen, there is a Mercurial repository for each branch: |
In addition to the git repositories of Xen Project software, there is a Mercurial repository for each branch: |
||
* ''master'': [http://xenbits.xen.org/hg/xen-unstable.hg xen-unstable.hg] |
* ''master'': [http://xenbits.xen.org/hg/xen-unstable.hg xen-unstable.hg] |
||
* ''staging'': [http://xenbits.xen.org/hg/staging/xen-unstable.hg staging/xen-unstable.hg] |
* ''staging'': [http://xenbits.xen.org/hg/staging/xen-unstable.hg staging/xen-unstable.hg] |
||
* ''staging-4.4'': [http://xenbits.xen.org/hg/staging/xen-4.4-testing.hg staging/xen-4.4-testing.hg] |
|||
* ''stable-4.4'': [http://xenbits.xen.org/hg/xen-4.4-testing.hg xen-4.4-testing.hg] |
|||
* ''staging-4.3'': [http://xenbits.xen.org/hg/staging/xen-4.3-testing.hg staging/xen-4.3-testing.hg] |
* ''staging-4.3'': [http://xenbits.xen.org/hg/staging/xen-4.3-testing.hg staging/xen-4.3-testing.hg] |
||
* ''stable-4.3'': [http://xenbits.xen.org/hg/xen-4.3-testing.hg xen-4.3-testing.hg] |
* ''stable-4.3'': [http://xenbits.xen.org/hg/xen-4.3-testing.hg xen-4.3-testing.hg] |
Latest revision as of 13:10, 5 August 2019
Version Control
As of February 2013 Xen is maintained using the GIT version control system. Previously, the Xen Project was maintained in Mercurial and mirrors of git into mercurial are still provided.
Staging
All changes to Xen Project software, whether to mainline or a stable branch, are initially pushed to a staging branch. These staging branches are then tested using the automated test system. When the tests passed the staging trees are automatically pushed to the primary trees.
Repositories
Primary Xen Project Repository
The main Xen Project repository is git://xenbits.xen.org/xen.git. This single repository contains branches for each of the stable maintenance branches as well as development and staging branches.
Stable release branches (stable-4.4, stable-4.3, ...)
More information on stable releases can be found in Xen Project Maintenance Releases.
The latest stable release from this branch is available from http://xenproject.org/downloads/xen-archives.html.
These branches contain the in-progress work on the next release on the previous stable branch and are named stable-X.Y (and staging-X.Y) where X.Y is the version.
- e.g. for the Xen Project 4.4.x stable branch: stable-4.4 (staging-4.4)
- e.g. for the Xen Project 4.3.x stable branch: stable-4.3 (staging-4.3)
Xen development branch (master)
These branches contain the development version of Xen Project software.
TAGS
Releases are tagged using the following conventions:
- RELEASE-X.Y.Z (e.g. RELEASE-4.4.0 for Xen 4.4, RELEASE-4.3.2 for Xen 4.3.2)
- Release candidates are tagged X.Y.Z-rc{number} with {number} > 0
Other components hosted or mirrored on xenbits
As well as the Xen Project repository, a Xen system contains several other components either developed as part of Xen Project or incorporated from other projects.
Qemu
Qemu is used to provide device emulation for HVM guests. It can also be used to provide PV backends for some PV devices.
More information can be found at QEMU Upstream
Qemu Xen Tree
The qemu-xen code is maintained upstream in the qemu.org git trees. In addition the Xen project also maintains its own stable branch of qemu, based on the upstream stable branches with a small number of additional fixes for Xen.
It can be found on xenbits in qemu-xen.git with a branch for each release of Xen named stable-VERSION, e.g. stable-4.10.
Qemu Xen Traditional Trees
The qemu-xen-traditional fork is maintained on xenbits in qemu-xen-traditional.git. There are branches for each release of Xen named stable-VERSION e.g. stable-4.10.
Guest Firmware
Guest firmware is used with HVM guests.
SeaBIOS
OVMF is the Legacy BIOS firmware used with qemu-xen.
http://xenbits.xen.org/gitweb/?p=seabios.git;a=summary
Upstream: http://seabios.org/SeaBIOS
OVMF
OVMF is the UEFI firmware, it is available with qemu-xen.
http://xenbits.xen.org/gitweb/?p=ovmf.git;a=summary
Upstream: http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=EDK2
ROMBIOS
ROMBIOS (used with qemu-xen-traditional) is contained in the main Xen tree at tools/firmware/rombios.
Other components hosted elsewhere
Kernels
Linux
Note that the Linux branches are not hosted on xenbits.
For more information on selecting suitable domain 0 kernels please see XenDom0Kernels.
The recommended Linux kernel branch is the upstream stable release branch:
For development the recommended branch is:
- The mainline Linus linux.git tree.
To see what's queued for the next release, the next merge window, and other work in progress:
- The Xen subsystem maintainers' tip.git tree.
Additional information:
- List of features in various Xen Project kernel trees: XenKernelFeatures
- More information about pvops kernels: XenParavirtOps
Cloning git repositories over http
For the benefit of those behind firewalls most git repositories hosted on xenbits are also exposed via http.
For a repository git://xenbits.xen.org/foo.git you can clone via http using http://xenbits.xen.org/git-http/foo.git.
Mercurial mirrors of Xen Project software
In addition to the git repositories of Xen Project software, there is a Mercurial repository for each branch:
- master: xen-unstable.hg
- staging: staging/xen-unstable.hg
- staging-4.4: staging/xen-4.4-testing.hg
- stable-4.4: xen-4.4-testing.hg
- staging-4.3: staging/xen-4.3-testing.hg
- stable-4.3: xen-4.3-testing.hg
- staging-4.2: staging/xen-4.2-testing.hg
- stable-4.2: xen-4.2-testing.hg
- staging-4.1: staging/xen-4.1-testing.hg
- stable-4.1: xen-4.1-testing.hg
As well as these previous staging and stable branches can be found at http://xenbits.xen.org/hg/.