##// END OF EJS Templates
mq: use dirstateguard instead of dirstate.invalidate (qrefresh)...
mq: use dirstateguard instead of dirstate.invalidate (qrefresh) Before this patch, "mq.queue.refresh()" uses "dirstate.invalidate()" as a kind of "restore .hg/dirstate to the original status" during a failure. But it just discards changes in memory, and doesn't actually restore ".hg/dirstate". Then, it can't work as expected, if "dirstate.write()" is executed while processing. This patch uses "dirstateguard" instead of "dirstate.invalidate()" to restore ".hg/dirstate" during a failure even if "dirstate.write()" is executed before a failure. This patch also removes "beginparentchage()" and "endparentchange()", because "dirstateguard" makes them useless. This is a part of preparations to fix the issue that the recent (in memory) dirstate isn't visible to external processes (e.g. "precommit" hook).

File last commit:

r14494:1ffeeb91 default
r24997:12f3c714 default
Show More
md5sum.py
42 lines | 995 B | text/x-python | PythonLexer
Thomas Arendsen Hein
Unified #! paths for python scripts and removed them for test modules.
r4122 #!/usr/bin/env python
Peter van Dijk
clarify license on md5sum.py
r1928 #
# Based on python's Tools/scripts/md5sum.py
#
# This software may be used and distributed according to the terms
# of the PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2, which is
# GPL-compatible.
Patrick Mezard
tests: Windows compatibility fixes...
r7080 import sys, os
Dirkjan Ochtman
python 2.6 compatibility: compatibility wrappers for hash functions
r6470
try:
from hashlib import md5
except ImportError:
from md5 import md5
Peter van Dijk
add md5sum.py required by fix in previous changeset
r1924
Patrick Mezard
tests: Windows compatibility fixes...
r7080 try:
import msvcrt
msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
msvcrt.setmode(sys.stderr.fileno(), os.O_BINARY)
except ImportError:
pass
Peter van Dijk
add md5sum.py required by fix in previous changeset
r1924 for filename in sys.argv[1:]:
try:
fp = open(filename, 'rb')
except IOError, msg:
sys.stderr.write('%s: Can\'t open: %s\n' % (filename, msg))
sys.exit(1)
Thomas Arendsen Hein
Whitespace/Tab cleanup
r3223
Dirkjan Ochtman
python 2.6 compatibility: compatibility wrappers for hash functions
r6470 m = md5()
Peter van Dijk
add md5sum.py required by fix in previous changeset
r1924 try:
Martin Geisler
check-code: flag 0/1 used as constant Boolean expression
r14494 while True:
Peter van Dijk
add md5sum.py required by fix in previous changeset
r1924 data = fp.read(8192)
if not data:
break
m.update(data)
except IOError, msg:
sys.stderr.write('%s: I/O error: %s\n' % (filename, msg))
sys.exit(1)
sys.stdout.write('%s %s\n' % (m.hexdigest(), filename))
sys.exit(0)