我正在使用
Django (1.7) translations进行项目,并希望在TravisCI上确保在对可翻译字符串进行更改时不会遗漏翻译.
这是我的.travis.yml的简化片段:
script:
- ...
- python manage.py makemessages -l ja --no-wrap --no-location
- git diff --exit-code
这会重新创建PO文件,并在文件更改时失败.到现在为止还挺好.
不幸的是,django每次运行脚本时都会更新POT-Creation-Date,并且我看不到任何会禁用该消息的标记,因此即使没有更改,文件也会在每次运行时更改.
我是在正确的路线上,还是有更好的方法来检测是否有变化?
最佳答案 因此,在makemessages之后,差异将总是显示至少1个插入和1个删除,对吧?
git diff --numstat | awk '{if ($1>1 || $2>1) { exit 1 } else { exit 0 }}'
如果diff中有多个插入和1个删除,则此脚本应以status = 1退出.