The cron job that runs every day would fail because of git checkout a single commit, not a branch.
#12708 introduce a method to check whether merges are clean. However, there are four merges are not clean. So, I add a list of merges that are dirty and ignore them.
Also, I modify the current shell script to python, it makes the script speed up a lot.
The python code tree_sha512sum was copied from github-merge.py
I've re-designed this. Now we verify all the things by default.
- Add
--disable-tree-checkoption, not to check SHA-512 tree - Add
--clean-merge NUMBERoption, only verify commits after <NUMBER> days ago
Travis running time:
| option | time |
|---|---|
| verify-commits.py | 25m47.02s(1547.02s) |
| verify-commits.py --disable-tree-check | 19m10.08s(1150.08s) |
| verify-commits.py --clean-merge 30 | 9m18.18s(558.18s) |
| verify-commits.py --disable-tree-check --clean-merge 30 | 1m16.51s(76.51s) |
Since the cron job always fail, I've created a respository to verify this daily.