diff options
| author | LaMont Jones <lamontjones@google.com> | 2022-10-26 16:32:42 +0000 |
|---|---|---|
| committer | LaMont Jones <lamontjones@google.com> | 2022-11-14 23:46:43 +0000 |
| commit | f8af33c9f0ef38fbe9bd6944255738edc8d4e8c7 (patch) | |
| tree | e953abad8babba2a2e35d0507d85f3a8c9d593ab /release | |
| parent | ed25be569e1c2e1c222010565c186b904eb8646c (diff) | |
| download | git-repo-f8af33c9f0ef38fbe9bd6944255738edc8d4e8c7.tar.gz git-repo-f8af33c9f0ef38fbe9bd6944255738edc8d4e8c7.zip | |
update-manpages: explicitly strip color codes
On some systems, help2man produces color codes in the output. Remove
them to avoid manpage churn.
Also begin adding unit tests.
Change-Id: I3f0204b19d9cae524d3cb5fcfb61ee309b0931fc
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/349655
Tested-by: LaMont Jones <lamontjones@google.com>
Reviewed-by: Xin Li <delphij@google.com>
Diffstat (limited to 'release')
| -rwxr-xr-x | release/update-manpages | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/release/update-manpages b/release/update-manpages index d619cf0b7..739cedb1c 100755 --- a/release/update-manpages +++ b/release/update-manpages @@ -83,11 +83,6 @@ def main(argv): with multiprocessing.Pool() as pool: pool.map(partial(worker, cwd=tempdir, check=True), cmdlist) - regex = ( - (r'(It was generated by help2man) [0-9.]+', '\g<1>.'), - (r'^\.IP\n(.*:)\n', '.SS \g<1>\n'), - (r'^\.PP\nDescription', '.SH DETAILS'), - ) for tmp_path in MANDIR.glob('*.1.tmp'): path = tmp_path.parent / tmp_path.stem old_data = path.read_text() if path.exists() else '' @@ -95,8 +90,7 @@ def main(argv): data = tmp_path.read_text() tmp_path.unlink() - for pattern, replacement in regex: - data = re.sub(pattern, replacement, data, flags=re.M) + data = replace_regex(data) # If the only thing that changed was the date, don't refresh. This avoids # a lot of noise when only one file actually updates. @@ -106,5 +100,25 @@ def main(argv): path.write_text(data) +def replace_regex(data): + """Replace semantically null regexes in the data. + + Args: + data: manpage text. + + Returns: + Updated manpage text. + """ + regex = ( + (r'(It was generated by help2man) [0-9.]+', '\g<1>.'), + (r'^\033\[[0-9;]*m([^\033]*)\033\[m', '\g<1>'), + (r'^\.IP\n(.*:)\n', '.SS \g<1>\n'), + (r'^\.PP\nDescription', '.SH DETAILS'), + ) + for pattern, replacement in regex: + data = re.sub(pattern, replacement, data, flags=re.M) + return data + + if __name__ == '__main__': sys.exit(main(sys.argv[1:])) |
