Marc's guide to back porting a fix to an existing distribution
Overall Process
Identify the long lived branch for the module version for the distribution
Issue a pull request to that branch for the back ported change
The pull review may be reviewed
Merge the pull request
When all of the fixes have been back ported, release a patch version of the module
Identifying the long lived branch for the release
Find the platform complete branch for the distribution e.g. for 2021 R1, this is https://github.com/folio-org/platform-complete/tree/R1-2021
Find the module version in the
install.jsone.g. for mod-patron this is https://github.com/folio-org/platform-complete/blob/7ba9ccae51085aaa9030e18e74aa2db77ae5b43f/install.json#L323The branch should be named after the
majorandminorversion of the module e.g. for4.4.0it would beb4.4, for4.5.0it would beb4.5If the branch does not exist
create it based upon the release tag, e.g. to create a long lived branch for version
4.4, usegit checkout -b b4.4 v4.4.0change the version of the module to the next patch version, e.g. if the current version is
4.4.0(non-snapshot as this came from a tag) change it to4.4.1-SNAPSHOT
Create a pull request for the fix
Make sure you have the most up to date version of the long lived release branch for the targeted version
Create a new branch for the back port based upon the long lived branch for the targeted version, e.g. to back port
MODPATRON-59to version4.4.xissue the followinggit checkout -b MODPATRON-59-back-port-to-4-4-0 b4.4Cherry pick the commits from the pull request for the fix (excluding the merges of master unless they are needed)
Push the branch and issue a pull request against the long lived release branch e.g. for
MODPATRON-59-back-port-to-4-4-0the base branch shouldb4.4Check that the changes in this pull request are similar to those made for the original fix (unless there are good reasons where that cannot be the case)