This document is written for branch maintainers.If you are not a branch maintainer, you should not commit directly.Write a backport ticket instead of committing.

  • checkout the branch
  • make sure the ticket is on the backport project. (if not, the ticket won't be closed automatically)
  • use tool/merger.rb.
    • tool/merger.rb 12345 (merge r12345)
    • tool/merger.rb 12345,67890 (merge r12345 and r67890)
    • tool/merger.rb --ticket=7654 12345 (merge r12345 and include commit log the reference to Backport ticket #7654. Note that --ticket option and its argument must be delimited by '=')

Backport Field

  • An advanced field for branch maintainers.
  • The use of backport field is still under development. The meaning and related operations of them may change without notice. People shouldn't touch this field unless they really understand the current operation.
  • The comma-separated list of version and status which matches /\A(?<branch>\d\.\d(\.0)?: (UNKNOWN|REQUIRED|DONE|DONTNEED|WONTFIX))(, \g<branch>)*\z/
  • (Administrators can check the regexp at
  • Use tool/redmine-backporter.rb.


  • UNKNOWN: Whether it should be backported or not is UNKNOWN. The ticket will be checked and changed by the branch maintainer in the future.
  • REQUIRED: commits related the ticket should be backported. (though the branch maintainer may reject the backport)
  • DONE: already backported to the branch.
  • DONTNEED: the branch doesn't affect the issue.
  • WONTFIX: the branch affects the issue, but the branch maintainer won't backport this (because of compatibility or some reason).
  • blank: no information, no one won't check the issue. People won't specify blank unless they really understand the meaning of backport field.