From: Nathan Binkert Date: Sun, 29 Jul 2007 04:56:43 +0000 (-0700) Subject: Work around a mercurial bug in bdiff.blocks X-Git-Tag: m5_2.0_beta4~253^2 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=41a1acd1e957d6856d5d5c0ddad3d39aa700c01d;p=gem5.git Work around a mercurial bug in bdiff.blocks --HG-- extra : convert_revision : 597503431883a24f68744bf0dce77356a32d7ff7 --- diff --git a/util/style.py b/util/style.py index 897617779..7238b9801 100644 --- a/util/style.py +++ b/util/style.py @@ -244,7 +244,7 @@ def validate(filename, stats, verbose, exit_code): msg(i, line, 'improper spacing after %s' % match.group(1)) bad() -def modified_lines(old_data, new_data): +def modified_lines(old_data, new_data, max_lines): from itertools import count from mercurial import bdiff, mdiff @@ -256,6 +256,8 @@ def modified_lines(old_data, new_data): modified.add(i) elif i + 1 >= fend: break + elif i > max_lines: + break return modified def check_whitespace(ui, repo, hooktype, node, parent1, parent2): @@ -301,13 +303,14 @@ def check_whitespace(ui, repo, hooktype, node, parent1, parent2): assert len(pctx) in (1, 2) file_data = fctx.data() - mod_lines = modified_lines(pctx[0].data(), file_data) + lines = mdiff.splitnewlines(file_data) + mod_lines = modified_lines(pctx[0].data(), file_data, len(lines)) if len(pctx) == 2: m2 = modified_lines(pctx[1].data(), file_data) mod_lines = mod_lines & m2 # only the lines that are new in both fixonly = set() - for i,line in enumerate(mdiff.splitnewlines(file_data)): + for i,line in enumerate(lines): if i not in mod_lines: continue