Mercurial > hg
annotate contrib/tmplrewrite.py @ 17231:2446b63c89ec stable
largefiles: fix a traceback when addremove follows a remove (issue3507)
The problem only occurred if a file was removed with 'hg rm' (as opposed to the
OS utilities), and then addremove was run before a commit. Both normal and
large files were affected.
Ensuring that the file exists prior to an lstat() for size seems like the Right
Thing. But oddly enough, the missing file that was causing lstat() to blow up
was a standin when a largefile was removed, which seems fishy, because a standin
should never be added as a largefile. I was then able to get a standin added as
a largefile (whose name is 'large') with
hg addremove --config largefiles.patterns=**large
which also causes a backtrace. That will be fixed next.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Thu, 19 Jul 2012 11:12:05 -0400 |
parents | 94ef2c8ce683 |
children |
rev | line source |
---|---|
8432
94ef2c8ce683
contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
1 #!/usr/bin/python |
94ef2c8ce683
contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
2 import sys, os, re |
94ef2c8ce683
contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
3 |
94ef2c8ce683
contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
4 IGNORE = ['.css', '.py'] |
94ef2c8ce683
contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
5 oldre = re.compile('#([\w\|%]+)#') |
94ef2c8ce683
contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
6 |
94ef2c8ce683
contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
7 def rewrite(fn): |
94ef2c8ce683
contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
8 f = open(fn) |
94ef2c8ce683
contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
9 new = open(fn + '.new', 'wb') |
94ef2c8ce683
contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
10 for ln in f: |
94ef2c8ce683
contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
11 new.write(oldre.sub('{\\1}', ln)) |
94ef2c8ce683
contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
12 new.close() |
94ef2c8ce683
contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
13 f.close() |
94ef2c8ce683
contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
14 os.rename(new.name, f.name) |
94ef2c8ce683
contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
15 |
94ef2c8ce683
contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
16 if __name__ == '__main__': |
94ef2c8ce683
contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
17 if len(sys.argv) < 2: |
94ef2c8ce683
contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
18 print 'usage: python tmplrewrite.py [file [file [file]]]' |
94ef2c8ce683
contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
19 for fn in sys.argv[1:]: |
94ef2c8ce683
contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
20 if os.path.splitext(fn) in IGNORE: |
94ef2c8ce683
contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
21 continue |
94ef2c8ce683
contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
22 print 'rewriting %s...' % fn |
94ef2c8ce683
contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
23 rewrite(fn) |