在预推 git 钩子中查找包装字符串
Find wrapped strings in a pre-push git hook
我正在尝试查看 git 推送中所做的更改,并找到包装字符串的任何实例,如下所示:___('something to be translated')
以便我可以进行一些后续 API 调用该信息。但是由于某种原因,当我尝试使用 git diff --cached
调用时,我无法获得任何有用的输出。我已经想出我的正则表达式模式来进行搜索。对此有任何建议都很好。
我的代码看起来像这样:
FILES_PATTERN="/___[^)]+\)/gm"
git diff --cached --name-only | \
grep -E $FILES_PATTERN | \
GREP_COLOR='4;5;37;41' xargs grep --color --with-filename -n echo 'COMMIT contains strings that need to be uploaded to Lokalise.' && exit 1
试试这个。我认为您的 bash 脚本是主要问题。它的格式不正确。这也将使输出仅是除了 ___() 匹配之外的修改行。
pattern="___\([^)]+\)"
echo $(git diff $remote_sha $local_sha | grep -E $pattern | grep '^[+-]')
希望这有效。
我正在尝试查看 git 推送中所做的更改,并找到包装字符串的任何实例,如下所示:___('something to be translated')
以便我可以进行一些后续 API 调用该信息。但是由于某种原因,当我尝试使用 git diff --cached
调用时,我无法获得任何有用的输出。我已经想出我的正则表达式模式来进行搜索。对此有任何建议都很好。
我的代码看起来像这样:
FILES_PATTERN="/___[^)]+\)/gm"
git diff --cached --name-only | \
grep -E $FILES_PATTERN | \
GREP_COLOR='4;5;37;41' xargs grep --color --with-filename -n echo 'COMMIT contains strings that need to be uploaded to Lokalise.' && exit 1
试试这个。我认为您的 bash 脚本是主要问题。它的格式不正确。这也将使输出仅是除了 ___() 匹配之外的修改行。
pattern="___\([^)]+\)"
echo $(git diff $remote_sha $local_sha | grep -E $pattern | grep '^[+-]')
希望这有效。