Mercurial > hg
view hgext/win32text.py @ 1877:d314a89fa4f1
change lock format to let us detect and break stale locks.
old style: symlink to pid
new style: symlink to hostname:pid
if lock code finds new-style lock, it breaks lock if locking pid is on
same machine and pid is not alive.
otherwise, lock is left alone. this makes locking code safe with
old-style locks and with locks on other machines.
new code makes server part of mercurial more robust in case machine
crashes, power fails, or crazy user does kill -9.
author | Vadim Gelfer <vadim.gelfer@gmail.com> |
---|---|
date | Fri, 10 Mar 2006 08:31:31 -0800 |
parents | e58b1c9a0dec |
children | 30762680fcd2 |
line wrap: on
line source
import mercurial.util def dumbdecode(s, cmd): return s.replace('\n', '\r\n') def dumbencode(s, cmd): return s.replace('\r\n', '\n') def clevertest(s, cmd): if '\0' in s: return False return True def cleverdecode(s, cmd): if clevertest(s, cmd): return dumbdecode(s, cmd) return s def cleverencode(s, cmd): if clevertest(s, cmd): return dumbencode(s, cmd) return s mercurial.util.filtertable.update({ 'dumbdecode:': dumbdecode, 'dumbencode:': dumbencode, 'cleverdecode:': cleverdecode, 'cleverencode:': cleverencode, })