1

我正在编写一个简单的 git 钩子来确保所有提交的代码都被更正缩进。我们使用 uncrustify 来缩进我们的代码和这个我们在每次提交之前运行的脚本

find -name "*.[hm]" -exec uncrustify -c uncrustify.cfg {} --replace --no-backup \;

如果代码不是unrustified,我正在寻找一种拒绝推送的方法。我可以尝试将文件的原始版本与未受信任的版本进行比较,但这似乎很慢,因为我必须生成文件的新版本,检查并在检查后删除。

我想知道 uncrustify 是否有一些隐藏开关只是为了测试文件是否应该被格式化。

谢谢。

这是我用来测试文件是否已经缩进的函数

function isIndented() {

    FILE1=$1

    uncrustify -c uncrustify.cfg "$FILE1" --mtime

    FILE2=${FILE1}.uncrustify

    if cmp -s "$FILE1" "$FILE2"
    then
       RESULT=1
    else
       RESULT=0
    fi

    rm "$FILE2"
    echo $RESULT

}

4

0 回答 0