如何在 Git Tower 中获取 Git Commit 消息?
How to get the Git Commit message in Git Tower?
我在 git 挂钩 commit-msg
中使用此脚本。
#!/usr/bin/python
import sys
import re
ret = 1
try:
with open(sys.argv[1]) as msg:
res = re.match("^fix gh-[0-9]+.*$", msg.readline())
if res != None:
ret = 0
except:
pass
if (ret != 0):
print("Wrong commit message. Example: 'fix gh-1234 foo bar'")
sys.exit(ret)
问题是 Git Tower 似乎没有在 argv
中包含任何参数。如何以一种既可以从命令行使用 git 又可以在 GUI 中使用 Git Tower?
的方式来解决这个问题
在 Tower 支持团队的帮助下解决了这个问题。
在我的示例中,我无法通过将其更改为 #!/usr/bin/env bash
来获取参数(即:#!/usr/bin/python
),但我能够获取它。现在 </code> 包含参数。</p>
<p>完整示例:</p>
<pre><code>#!/usr/bin/env bash
# regex to validate in commit msg
commit_regex='(gh-\d+|merge)'
error_msg="Aborting commit. Your commit message is missing either a Github Issue ('GH-xxxx') or 'Merge'"
if ! grep -iqE "$commit_regex" ""; then
echo "$error_msg" >&2
exit 1
fi
我在 git 挂钩 commit-msg
中使用此脚本。
#!/usr/bin/python
import sys
import re
ret = 1
try:
with open(sys.argv[1]) as msg:
res = re.match("^fix gh-[0-9]+.*$", msg.readline())
if res != None:
ret = 0
except:
pass
if (ret != 0):
print("Wrong commit message. Example: 'fix gh-1234 foo bar'")
sys.exit(ret)
问题是 Git Tower 似乎没有在 argv
中包含任何参数。如何以一种既可以从命令行使用 git 又可以在 GUI 中使用 Git Tower?
在 Tower 支持团队的帮助下解决了这个问题。
在我的示例中,我无法通过将其更改为 #!/usr/bin/env bash
来获取参数(即:#!/usr/bin/python
),但我能够获取它。现在 </code> 包含参数。</p>
<p>完整示例:</p>
<pre><code>#!/usr/bin/env bash
# regex to validate in commit msg
commit_regex='(gh-\d+|merge)'
error_msg="Aborting commit. Your commit message is missing either a Github Issue ('GH-xxxx') or 'Merge'"
if ! grep -iqE "$commit_regex" ""; then
echo "$error_msg" >&2
exit 1
fi