Git pre-commit hook gist

时间:2014-01-22 14:43:47

标签: git githooks

我找到了这段代码https://gist.github.com/wrboyce/786460

#!/usr/bin/zsh

COMPRESSOR=$(whence -p yui-compressor)
[ -z $COMPRESSOR ] && exit 0;

function _compress {
        local fname=$1:t
        local dest_path=$1:h
        local min_fname="$dest_path/${fname:r}.min.${fname:e}"
        $COMPRESSOR $1 > $min_fname
        git add $min_fname
}

for file in $(find . -regextype posix-extended -iregex '.+\.(css|js)$' -and -not -iregex '.+\.min\.(css|js)$'); _compress $file

在我的osx机器上它说:

  

.git / hooks / pre-commit:第2行:whence:未找到命令

我相信这只适用于linux吗?任何人都可以帮助在Mac上做到这一点?我想在将css和javascript发送到远程生产服务器之前将其缩小。

1 个答案:

答案 0 :(得分:1)

是的,仅适用于Linux:

  

whence命令是一个 Korn Shell功能,用于说明名称   将由shell解释:它检测命令和别名,   并搜索你的路径。

试试这个:

#!/usr/bin/zsh

COMPRESSOR=$(which yui-compressor)
[ -z $COMPRESSOR ] && exit 0;

function _compress {
        local fname=$1:t
        local dest_path=$1:h
        local min_fname="$dest_path/${fname:r}.min.${fname:e}"
        $COMPRESSOR $1 > $min_fname
        git add $min_fname
}

for file in $(find . -regextype posix-extended -iregex '.+\.(css|js)$' -and -not -iregex '.+\.min\.(css|js)$'); _compress $file
相关问题