我正在使用 Django 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
标志,所以即使没有任何变化,文件也会在每次运行时发生变化。
我的思路是否正确,或者是否有更好的方法来检测是否发生了变化?
最佳答案
所以,在 makemessages diff 之后总是会显示至少 1 次插入和 1 次删除,对吗?
git diff --numstat | awk '{if ($1>1 || $2>1) { exit 1 } else { exit 0 }}'
如果 diff 中有超过 1 次插入和 1 次删除,则此脚本应以 status=1 退出。
关于django - 检测 CI 中 Django 翻译 (PO) 文件的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28114368/