[systemd-devel] [HEADSUP] What to backport?
Lennart Poettering
lennart at poettering.net
Thu Sep 12 17:40:10 PDT 2013
Heya!
I'd like to announce a new service for systemd downstream packagers. In
the upstream git repository we have started indicating with "git notes"
which commits are particularly good candidates for backporting into the
systemd packages f various distributions.
FAQ:
Why?
-- Well, we want to be nice to downstream. So far the inofficial place
where we tracked backport-worthy commits was the fedora packaging git,
but that's not fair to other distributions and was very focussed on
the Fedora branching points.
Why not use a "stable branch" like everybody else?
-- The distributions tend to pull different systemd versions into
their releases. A single stable branch would hence be of very limited
use to most distributions and useful for only the lucky one which
actually tracked this stable branch.
Unlike high-level applications systemd is a core part of the OS and
is not something people can manually install on the local
system. Instead it must be integrated, and verified by the
distributions, and they make the stabilization point decision.
What are git notes?
-- It's a way how to add notes to existing commits, without having to
rewrite history. See git-notes(1) for more information. Also recommended:
http://git-scm.com/blog/2010/08/25/notes.html
How does this look?
-- cgit will show the git notes next to the commit message if you
display a specific commit. It's not pretty, but it is there.
Example:
http://cgit.freedesktop.org/systemd/systemd/commit/?id=da2620a5f878ad5c8d8d51992528cb3e637c7d1f
And locally?
-- You need to pull the notes from the git repo using a command like
the following:
$ git fetch fetch origin refs/notes/*:refs/notes/*
I added an alias to my ~/.gitconfig for this:
[alias]
pullnotes = fetch origin refs/notes/*:refs/notes/*
That way I can just do:
$ git pullnotes
After you pulled the notes you can view them with a simply "git log",
where they will be added next to each commit.
What do the notes you add mean?
-- Currently we know three different annotations in the notes:
Backport: bugfix
Backport: documentation
Backport: security
The first marks important bug fixes, the second important
documentation fixes, and the last one security fixes. So far I have
not used the latter annotation though. We might add more annotation
types later on.
I want to nominate a commit as backport-worthy!
-- Ask somebody with commit access to add a note for you.
I have commit access and want to add a note for a commit!
-- First add the note:
$ git notes add da2620a5f878ad5c8d8d51992528cb3e637c7d1f
Then, push it onto the server with a command like this:
$ git push origin refs/notes/*
Again, I have a .gitconfig alias for this:
[alias]
pushnotes = push origin refs/notes/*
And hence I use the simpler:
$ git pushnotes
If you made a commit and believe it is backport-worthy, then please
add the note right-away and don't forget to push it!
We do not make use of not namespaces so that all notes appear in
normal "git log" outputs without any additional required options.
Any unanswered questions?
Lennart
--
Lennart Poettering - Red Hat, Inc.
More information about the systemd-devel
mailing list