Skip to content

Commit e3aabfa

Browse files
committed
diff_to_added_lines: report all errors on stderr
The Python script silently failed when invoked from run_diff.sh, which redirects stdout to a file, when unidiff was not available.
1 parent 29a323f commit e3aabfa

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

scripts/diff_to_added_lines.py

+7-6
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
#!/usr/bin/env python
22

33
from __future__ import print_function
4+
import sys
5+
6+
def eprint(*args, **kwargs):
7+
print(*args, file=sys.stderr, **kwargs)
48

59
def diff_to_added_lines(diff_file, repository_root, out_stream):
610

711
try:
812
import unidiff
913
except ImportError:
10-
print("diff_to_added_lines.py requires unidiff, use `pip install --user unidiff` to install")
14+
eprint("diff_to_added_lines.py requires unidiff, use `pip install --user unidiff` to install")
1115
sys.exit(1)
1216

1317
import os.path
@@ -36,12 +40,9 @@ def diff_to_added_lines(diff_file, repository_root, out_stream):
3640
json.dump(added_lines, out_stream)
3741

3842
if __name__ == "__main__":
39-
40-
import sys
41-
4243
if len(sys.argv) != 3:
43-
print("diff_to_added_lines.py: converts a unified-diff file into a JSON dictionary mapping filenames onto an array of added or modified line numbers", file=sys.stderr)
44-
print("Usage: diff_to_added_lines.py diff.patch repository_root_directory", file=sys.stderr)
44+
eprint("diff_to_added_lines.py: converts a unified-diff file into a JSON dictionary mapping filenames onto an array of added or modified line numbers")
45+
eprint("Usage: diff_to_added_lines.py diff.patch repository_root_directory")
4546

4647
sys.exit(1)
4748

0 commit comments

Comments
 (0)