diff options
Diffstat (limited to 'docs/repo-hooks.md')
-rw-r--r-- | docs/repo-hooks.md | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/docs/repo-hooks.md b/docs/repo-hooks.md index e198b390..7c37c30e 100644 --- a/docs/repo-hooks.md +++ b/docs/repo-hooks.md | |||
@@ -83,6 +83,31 @@ then check it directly. Hooks should not normally modify the active git repo | |||
83 | the user. Although user interaction is discouraged in the common case, it can | 83 | the user. Although user interaction is discouraged in the common case, it can |
84 | be useful when deploying automatic fixes. | 84 | be useful when deploying automatic fixes. |
85 | 85 | ||
86 | ### Shebang Handling | ||
87 | |||
88 | *** note | ||
89 | This is intended as a transitional feature. Hooks are expected to eventually | ||
90 | migrate to Python 3 only as Python 2 is EOL & deprecated. | ||
91 | *** | ||
92 | |||
93 | If the hook is written against a specific version of Python (either 2 or 3), | ||
94 | the script can declare that explicitly. Repo will then attempt to execute it | ||
95 | under the right version of Python regardless of the version repo itself might | ||
96 | be executing under. | ||
97 | |||
98 | Here are the shebangs that are recognized. | ||
99 | |||
100 | * `#!/usr/bin/env python` & `#!/usr/bin/python`: The hook is compatible with | ||
101 | Python 2 & Python 3. For maximum compatibility, these are recommended. | ||
102 | * `#!/usr/bin/env python2` & `#!/usr/bin/python2`: The hook requires Python 2. | ||
103 | Version specific names like `python2.7` are also recognized. | ||
104 | * `#!/usr/bin/env python3` & `#!/usr/bin/python3`: The hook requires Python 3. | ||
105 | Version specific names like `python3.6` are also recognized. | ||
106 | |||
107 | If no shebang is detected, or does not match the forms above, we assume that the | ||
108 | hook is compatible with both Python 2 & Python 3 as if `#!/usr/bin/python` was | ||
109 | used. | ||
110 | |||
86 | ## Hooks | 111 | ## Hooks |
87 | 112 | ||
88 | Here are all the points available for hooking. | 113 | Here are all the points available for hooking. |