Skip to content

Commit 6eff941

Browse files
authored
Fix random behavior of update_model_index in pre-commit hook (open-mmlab#784)
1 parent 2acd563 commit 6eff941

File tree

32 files changed

+2258
-2251
lines changed

32 files changed

+2258
-2251
lines changed

.dev/md2yml.py

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,23 @@ def dump_yaml_and_check_difference(obj, filename):
2525
Returns:
2626
Bool: If the target YAML file is different from the original.
2727
"""
28-
original = None
28+
29+
str_dump = mmcv.dump(obj, None, file_format='yaml', sort_keys=True)
2930
if osp.isfile(filename):
31+
file_exists = True
3032
with open(filename, 'r', encoding='utf-8') as f:
31-
original = f.read()
32-
with open(filename, 'w', encoding='utf-8') as f:
33-
mmcv.dump(obj, f, file_format='yaml', sort_keys=False)
34-
is_different = True
35-
if original is not None:
36-
with open(filename, 'r') as f:
37-
new = f.read()
38-
is_different = (original != new)
33+
str_orig = f.read()
34+
else:
35+
file_exists = False
36+
str_orig = None
37+
38+
if file_exists and str_orig == str_dump:
39+
is_different = False
40+
else:
41+
is_different = True
42+
with open(filename, 'w', encoding='utf-8') as f:
43+
f.write(str_dump)
44+
3945
return is_different
4046

4147

@@ -183,11 +189,11 @@ def update_model_index():
183189
if __name__ == '__main__':
184190
file_list = [fn for fn in sys.argv[1:] if osp.basename(fn) == 'README.md']
185191
if not file_list:
186-
exit(0)
192+
sys.exit(0)
187193
file_modified = False
188194
for fn in file_list:
189195
file_modified |= parse_md(fn)
190196

191197
file_modified |= update_model_index()
192198

193-
exit(1 if file_modified else 0)
199+
sys.exit(1 if file_modified else 0)

.pre-commit-config.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,3 +47,4 @@ repos:
4747
additional_dependencies: [mmcv]
4848
language: python
4949
files: ^configs/.*\.md$
50+
require_serial: true

0 commit comments

Comments
 (0)