OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 | 2 |
3 import difflib | 3 import difflib |
4 import json | 4 import json |
5 import os | 5 import os |
6 import subprocess | 6 import subprocess |
7 import sys | 7 import sys |
8 | 8 |
9 | 9 |
10 def call(*args): | 10 def call(*args): |
11 return subprocess.check_output(args) | 11 return subprocess.check_output(args) |
12 | 12 |
13 | 13 |
14 def get_manifest(rev): | 14 def get_manifest(rev): |
15 call("git", "checkout", rev) | 15 call("git", "checkout", rev) |
16 call("./manifest", "-r") | 16 call("./manifest", "-r") |
17 with open("MANIFEST.json", "r") as fp: | 17 with open("MANIFEST.json", "r") as fp: |
18 return fp.readlines() | 18 return fp.readlines() |
19 | 19 |
20 | 20 |
21 def main(): | 21 def main(): |
22 head = os.environ['TRAVIS_COMMIT'] | 22 after = get_manifest("HEAD") |
| 23 |
23 call("git", "fetch", "origin", "master:master") | 24 call("git", "fetch", "origin", "master:master") |
24 merge_base = call("git", "merge-base", "master", head).strip() | 25 merge_base = call("git", "merge-base", "master", "HEAD").strip() |
25 before = get_manifest(merge_base) | 26 before = get_manifest(merge_base) |
26 after = get_manifest(head) | 27 |
27 diff = difflib.unified_diff(before, after, | 28 diff = difflib.unified_diff(before, after, |
28 fromfile='before.json', tofile='after.json') | 29 fromfile='before.json', tofile='after.json') |
29 for line in diff: | 30 for line in diff: |
30 sys.stdout.write(line) | 31 sys.stdout.write(line) |
31 | 32 |
32 | 33 |
33 if __name__ == "__main__": | 34 if __name__ == "__main__": |
34 main() | 35 main() |
OLD | NEW |