检测TravisCI中对django翻译(PO)文件的更改

时间:2015-01-23 16:30:09

标签: django testing continuous-integration translation travis-ci

我正在使用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 个答案:

答案 0 :(得分:2)

因此,在makemessages之后,diff会显示至少1个插入和1个删除,对吗?

git diff --numstat | awk '{if ($1>1 || $2>1) { exit 1 } else { exit 0 }}'

如果diff中有超过1个插入和1个删除,则此脚本应以status = 1退出。