##// END OF EJS Templates
bdiff: gradually enable the popularity hack...
bdiff: gradually enable the popularity hack Patch from Jason Orendorff The lower the threshold, the stronger the popularity hack's influence. So at 3999 lines, the hack is disabled; and at 4000 lines, the hack is enabled at maximum strength (t=4). No source file in mercurial/crew is over 4000 lines. But there are, oh, a few such files in Mozilla. I can testify that this hack causes hg to generate some correct but eyebrow-raising patches. I think the hack should phase in gradually. The threshold should be high for small files where we don't need it so much. Like this: t = (bn < 31000) ? 1000000 / bn : bn / 1000; That would leave the popularity hack disabled for small files, then gradually phase it in: bn < 1000 -- t > bn (popularity hack is completely disabled) bn == 1000 -- t = 1000 (still effectively disabled) bn == 2000 -- t = 500 (only hits unusual files) bn == 10000 -- t = 100 (only hits especially common lines) bn == 31000 -- t = 31 (hack is at maximum power) bn == 32000 -- t = 32 (hack could backfire, ease off)

File last commit:

r8432:94ef2c8c default
r9534:8e202431 default
Show More
tmplrewrite.py
23 lines | 557 B | text/x-python | PythonLexer
#!/usr/bin/python
import sys, os, re
IGNORE = ['.css', '.py']
oldre = re.compile('#([\w\|%]+)#')
def rewrite(fn):
f = open(fn)
new = open(fn + '.new', 'wb')
for ln in f:
new.write(oldre.sub('{\\1}', ln))
new.close()
f.close()
os.rename(new.name, f.name)
if __name__ == '__main__':
if len(sys.argv) < 2:
print 'usage: python tmplrewrite.py [file [file [file]]]'
for fn in sys.argv[1:]:
if os.path.splitext(fn) in IGNORE:
continue
print 'rewriting %s...' % fn
rewrite(fn)