4

このスクリプトを githook で使用しています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 TowerのようなGUIの両方からgitを使用できる方法でこれを解決するにはどうすればよいですか?

4

1 に答える 1

2

これは、Tower サポート チームの助けを借りて解決しました。

私の例では、これをI was able to get it に#!/usr/bin/python変更しても、引数 (つまり:) を取得できませんでした。引数が含まれるようになりました#!/usr/bin/env bash$1

完全な例:

#!/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" "$1"; then
        echo "$error_msg" >&2
        exit 1
    fi
于 2016-10-11T14:02:14.343 に答える