##// END OF EJS Templates
Add bdiff.blocks / minor performance tweaks...
Add bdiff.blocks / minor performance tweaks -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Add bdiff.blocks / minor performance tweaks This refactors bdiff.bdiff so that we can get a list of matching blocks of line numbers for use by annotate/unidiff. Minor performance tweaks: - - add a field for equivalence so we can keep h around a bit longer for cmp - - mix len into the hash to reduce collisions - - move an operation into the slow path in longest_match manifest hash: b1aee590b6291b31069ea8a86b6aa8fb259ac244 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCubu2ywK+sNU5EO8RAm4FAJ9r10aJpT7qA96nqGYFHcuy4XcIHgCfeFx5 q0PyTXeZQc7Fw5kwEPcoykI= =QXSb -----END PGP SIGNATURE-----

File last commit:

r422:10c43444 default
r433:79c69446 default
Show More
util.py
39 lines | 915 B | text/x-python | PythonLexer
# util.py - utility functions and platform specfic implementations
#
# Copyright 2005 K. Thananchayan <thananck@yahoo.com>
#
# This software may be used and distributed according to the terms
# of the GNU General Public License, incorporated herein by reference.
import os
def rename(src, dst):
try:
os.rename(src, dst)
except:
os.unlink(dst)
os.rename(src, dst)
# Platfor specific varients
if os.name == 'nt':
def pconvert(path):
return path.replace("\\", "/")
def makelock(info, pathname):
ld = os.open(pathname, os.O_CREAT | os.O_WRONLY | os.O_EXCL)
os.write(ld, info)
os.close(ld)
def readlock(pathname):
return file(pathname).read()
else:
def pconvert(path):
return path
def makelock(info, pathname):
os.symlink(info, pathname)
def readlock(pathname):
return os.readlink(pathname)