revlog: choose a consistent ancestor when there's a tie
Previously, we chose a rev based on numeric ordering, which could
cause "the same merge" in topologically identical but numerically
different repos to choose different merge bases.
We now choose the lexically least node; this is stable across
different revlog orderings.
#!/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)