Mercurial > public > mercurial-scm > hg-stable
comparison tests/artifacts/scripts/generate-churning-bundle.py @ 43076:2372284d9457
formatting: blacken the codebase
This is using my patch to black
(https://github.com/psf/black/pull/826) so we don't un-wrap collection
literals.
Done with:
hg files 'set:**.py - mercurial/thirdparty/** - "contrib/python-zstandard/**"' | xargs black -S
# skip-blame mass-reformatting only
# no-check-commit reformats foo_bar functions
Differential Revision: https://phab.mercurial-scm.org/D6971
author | Augie Fackler <augie@google.com> |
---|---|
date | Sun, 06 Oct 2019 09:45:02 -0400 |
parents | 5f198b690301 |
children | 1fcf79e9943a |
comparison
equal
deleted
inserted
replaced
43075:57875cf423c9 | 43076:2372284d9457 |
---|---|
37 | 37 |
38 # constants for generating the large file we keep updating | 38 # constants for generating the large file we keep updating |
39 # | 39 # |
40 # At each revision, the beginning on the file change, | 40 # At each revision, the beginning on the file change, |
41 # and set of other lines changes too. | 41 # and set of other lines changes too. |
42 FILENAME='SPARSE-REVLOG-TEST-FILE' | 42 FILENAME = 'SPARSE-REVLOG-TEST-FILE' |
43 NB_LINES = 10500 | 43 NB_LINES = 10500 |
44 ALWAYS_CHANGE_LINES = 500 | 44 ALWAYS_CHANGE_LINES = 500 |
45 OTHER_CHANGES = 300 | 45 OTHER_CHANGES = 300 |
46 | 46 |
47 | |
47 def nextcontent(previous_content): | 48 def nextcontent(previous_content): |
48 """utility to produce a new file content from the previous one""" | 49 """utility to produce a new file content from the previous one""" |
49 return hashlib.md5(previous_content).hexdigest() | 50 return hashlib.md5(previous_content).hexdigest() |
51 | |
50 | 52 |
51 def filecontent(iteridx, oldcontent): | 53 def filecontent(iteridx, oldcontent): |
52 """generate a new file content | 54 """generate a new file content |
53 | 55 |
54 The content is generated according the iteration index and previous | 56 The content is generated according the iteration index and previous |
70 current = nextcontent(current) | 72 current = nextcontent(current) |
71 else: | 73 else: |
72 to_write = oldcontent[idx] | 74 to_write = oldcontent[idx] |
73 yield to_write | 75 yield to_write |
74 | 76 |
77 | |
75 def updatefile(filename, idx): | 78 def updatefile(filename, idx): |
76 """update <filename> to be at appropriate content for iteration <idx>""" | 79 """update <filename> to be at appropriate content for iteration <idx>""" |
77 existing = None | 80 existing = None |
78 if idx is not None: | 81 if idx is not None: |
79 with open(filename, 'rb') as old: | 82 with open(filename, 'rb') as old: |
80 existing = old.readlines() | 83 existing = old.readlines() |
81 with open(filename, 'wb') as target: | 84 with open(filename, 'wb') as target: |
82 for line in filecontent(idx, existing): | 85 for line in filecontent(idx, existing): |
83 target.write(line) | 86 target.write(line) |
87 | |
84 | 88 |
85 def hg(command, *args): | 89 def hg(command, *args): |
86 """call a mercurial command with appropriate config and argument""" | 90 """call a mercurial command with appropriate config and argument""" |
87 env = os.environ.copy() | 91 env = os.environ.copy() |
88 if 'CHGHG' in env: | 92 if 'CHGHG' in env: |
98 # avoid conflicts by picking the local variant | 102 # avoid conflicts by picking the local variant |
99 full_cmd.extend(['--tool', ':merge-local']) | 103 full_cmd.extend(['--tool', ':merge-local']) |
100 full_cmd.extend(args) | 104 full_cmd.extend(args) |
101 env['HGRCPATH'] = '' | 105 env['HGRCPATH'] = '' |
102 return subprocess.check_call(full_cmd, env=env) | 106 return subprocess.check_call(full_cmd, env=env) |
107 | |
103 | 108 |
104 def run(target): | 109 def run(target): |
105 tmpdir = tempfile.mkdtemp(prefix='tmp-hg-test-big-file-bundle-') | 110 tmpdir = tempfile.mkdtemp(prefix='tmp-hg-test-big-file-bundle-') |
106 try: | 111 try: |
107 os.chdir(tmpdir) | 112 os.chdir(tmpdir) |
129 | 134 |
130 finally: | 135 finally: |
131 shutil.rmtree(tmpdir) | 136 shutil.rmtree(tmpdir) |
132 return 0 | 137 return 0 |
133 | 138 |
139 | |
134 if __name__ == '__main__': | 140 if __name__ == '__main__': |
135 orig = os.path.realpath(os.path.dirname(sys.argv[0])) | 141 orig = os.path.realpath(os.path.dirname(sys.argv[0])) |
136 target = os.path.join(orig, os.pardir, 'cache', BUNDLE_NAME) | 142 target = os.path.join(orig, os.pardir, 'cache', BUNDLE_NAME) |
137 sys.exit(run(target)) | 143 sys.exit(run(target)) |
138 |