[OE stablebranch] [RFC] Commit and review policy
Koen Kooi
k.kooi at student.utwente.nl
Sat Mar 29 11:44:56 CET 2008
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
[copied from the wiki]
The current procedures of backporting fixes from the dev branch to the
stable branch is based on RFC from the angstrom-distro-devel mailing
list. These are subject to assessment/change and open for proposals of
improvements. The philosophy of Angstrom backport is minimalistic
(i.e., only fix broken things and important bugs) instead of keeping
it as much in sync as possible with dev branch.
0. Commits to contrib/ and your distro config files (e.g. conf/distro/
angstrom*) don't require review, but be carefull anyway.
1. Please first send email with subject [Review] to the openembedded-stablebranch at openembedded.org
list with cumulative diff between the head revisions of stable and
dev, and the revision numbers it entails. You can do this with the
following example monotone commands.
e.g.
stable="org.openembedded.stable"
dev="org.openembedded.dev"
# prints out cumulative diff
mtn diff $stable/packages/<target> -r $(mtn head -b $stable | tail -n1
| awk '{print $1}') -r $(mtn head -b $dev | tail -n1 | awk '{print $1}')
# prints out the revision numbers it entails in the dev branch
a. for untouched stable revisions since branching in the stable
branch, get stablerevision with mtn status <target> | awk '/parent/
{print $4}',
b. for things that have already been backported before, use human
intelligence to find out the corresponding $stablerevision in the dev
branch then in the dev branch mtn --no-graph --brief --to
$stablerevision <target>
2. Once approved by two developers (with at least one OE stable branch
maintainer), update the BACKPORTS.txt in the stable branch. This file
holds all the revision from dev we want in this stable branch. The
syntax of editing on the top of the file. To quickly lookup any
backported revision within the file, use http://amethyst.openembedded.net/oe/viewmtn/viewmtn.py/revision/info/
<rev>
To easily generate lines in the format in BACKPORTS.txt, in the dev
branch run
mtn --no-graph --no-files --to $stablerevison log <target> | /path/to/
mtnlog2backports
mtnlog2backports is a simple awk script to help with formatting. You
can copy it into a convenient location. You should replace the
<Approved by> by the names of the developers approving the backport
before running the above command each time.
Then in the stable branch
mtn pluck -r <rev> <target>
one by one, from the oldest,
[committing in between. mtn gives default commit message, you should
remove first line as it suggest. Each commit should still include
revision which is being merged and changelog subject for it, I suggest
just pasting line from BACKPORTS.txt, leaving mtn's default text where
it is, at the top, and paste such a line after it. That might help
with automated parsing of ever will be required. But thus such merges
do not follow commit message policy of "normal" commits.] COMMENT
[committing in between is just not practical for large changes.
recommend to commit with the BACKPORTS.txt after a logical unit
backport]
One final note is that mtn pluck fail for the following case: a rev
adds a new files, next rev patches it. In this case, you can just copy
changed files from dev, and commit reminder of revs together, pasting
few BACKPORTS.txt lines. Of course, you should be careful to not pull
more changes than needed in such case.
3. To add/modify packages to be autobuilt and appear in the angstrom
feeds.
∙ If you have commit rights: edit org.openembedded.stable/contrib/
angstrom/build-release.sh
∙ If you don't have commit rights: send a clear email to angstrom-
distro-devel stating which recipenames you want to have added.
4 To add/modify machine/images to be autobuilt and appear in the
unstable/autobuild/images
∙ If you have commit rights: edit org.openembedded.angstrom-2007.12-
stable/contrib/angstrom/build-images.sh .
∙ If you don't have commit rights: send a clear email to angstrom-
distro-devel stating which images you want to have built for certain
machines.
5. Frequency of changes propagating to the user visible area (i.e.,
feeds and image download dir)
∙ The frequency of refreshing the feed is "when the stable branch has
changed", either with backports or edits to build-feed.sh
∙ The autobuilder builds machine/image at least weekly, but uploading
to unstable/autobuild/images is generally only done when -rX -> -rX+1.
Moving tested images from unstable/autobuild/images to unstable/images
depends on machine mentors availability.
- -------
Thought, comments, additions?
regards,
Koen
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)
iD8DBQFH7h2vMkyGM64RGpERAra4AKC4b7y5eI0Imu5QXUtJ3UCo/TKUugCfe+vP
MMY0MS7/eHD36xv5vnlOB+g=
=Ew3M
-----END PGP SIGNATURE-----
More information about the Openembedded-stablebranch
mailing list