[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