diff options
Diffstat (limited to 'bin/common/srtool_patcher.py')
-rwxr-xr-x | bin/common/srtool_patcher.py | 33 |
1 files changed, 27 insertions, 6 deletions
diff --git a/bin/common/srtool_patcher.py b/bin/common/srtool_patcher.py index 6bf65755..ccf93060 100755 --- a/bin/common/srtool_patcher.py +++ b/bin/common/srtool_patcher.py @@ -23,11 +23,33 @@ # # Theory of operation # -# * This script runs quick sanity tests -# * The '--init-test' option will: -# * Report the host package versions -# * Report errors if any required tables are empty -# * Report the running instance of the SRTool +# This script supports extending common/template code with customized +# sections, with support for merging and upstreaming changes in the +# common/shared sections of the parent upstream files. +# +# The initial use case is a shared Jira integration file that partners can +# extend to their particular installation. A working example is provided in +# the ACME directory: +# upstream: "bin/common/srtool_jira_template.py" +# custom : "bin/acme/srtool_jira_acme.py" +# +# The custom sections are blocked off with comment tags (e.g. ACME): +# ### ACME_EXTENSION_BEGIN ### +# ... +# ### ACME_EXTENSION_END ### +# +# The script supports JSON files to predefine that mappings. See: +# bin/acme/patcher.json +# +# Examples: +# Merge shared upstream code into a custom Jira script: +# $ ./bin/common/srtool_patcher.py -j bin/acme/patcher.json --merge-original +# Merge edits in script's common code areas back to upstream: +# $ ./bin/common/srtool_patcher.py -j bin/acme/patcher.json --merge-custom +# See if the shared common code sections have diverged from upstream: +# $ ./bin/common/srtool_patcher.py -j bin/acme/patcher.json --diff-original +# Extract the custom code sections, for examining and preserving custom changes: +# $ ./bin/common/srtool_patcher.py -j bin/acme/patcher.json --extract-custom-patch # import os @@ -184,7 +206,6 @@ def main(argv): parser.add_argument('--json', '-j', help='Use JSON file for file list') parser.add_argument('--extract-custom-patch', '-e', action='store_const', const='extract_custom_patch', dest='command', help='Extract a patch of the custom content') - parser.add_argument('--apply-custom-patch', '-a', action='store_const', const='extract_custom_patch', dest='command', help='Apply the custom patch to the (reset) custom file') parser.add_argument('--patch', '-p', help='Patch file') parser.add_argument('--diff-original', '-d', action='store_const', const='diff_original', dest='command', help='Show how the file compares to original, ignoring custom patches') |