How To Backport
Takashi Kokubun edited this page Jun 2, 2023
·
3 revisions
Policies
Development
For developers
- Developer How To, Developer How To JA
- How To Contribute
- How To Report, How To Report JA
- How To Request Backport
- How To Request Features
- Developers Meeting
For committers
- Committer How To, Committer How To JA
- Git Migration FAQ JA
- How To Backport
- How To Manage Redmine
- How To Release JA
- How To Maintain RubyCI Servers
Technical Information
Documentation
Miscellaneous
Clone this wiki locally
How To Backport
This document is written for branch maintainers. If you are not a branch maintainer, you should not commit directly. Write a backport ticket (and optionally prepare a GitHub PR) 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 deadbeaf (merge Git revision deadbeaf)
- tool/merger.rb deadbeaf,aaaaaaaa (merge deadbeaf and bbbbbbbb)
- tool/merger.rb 12345 (merge SVN revision r12345)
- tool/merger.rb --ticket=7654 deadbeaf (merge deadbeaf 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 https://bugs.ruby-lang.org/custom_fields/5/edit)
- Use tool/redmine-backporter.rb.
statuses
- 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.