Mercurial > public > mercurial-scm > hg-stable
view mercurial/util.py @ 461:9ae0034f2772
[PATCH] /dev/null for other OS
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
[PATCH] /dev/null for other OS
From: K Thananchayan <thananck@yahoo.com>
Null device name is platform dependent. Introduce util.nulldev
- - platform dependent constant and use it instead of '/dev/null'
manifest hash: 95a1bfdb712c53ef97aaff73f7f4c87e9299cf59
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCvQCGywK+sNU5EO8RAiRBAKCcXasCCFT2+6wgklkgqIt4l3UwugCeKWii
h/8iRYEw8Rp8B67abiFiwyY=
=L3Mk
-----END PGP SIGNATURE-----
author | mpm@selenic.com |
---|---|
date | Fri, 24 Jun 2005 22:58:14 -0800 |
parents | e8af362cfb01 |
children | 50da4bb9cab6 |
line wrap: on
line source
# 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': nulldev = 'NUL:' def is_exec(f, last): return last def set_exec(f, mode): pass 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: nulldev = '/dev/null' def is_exec(f, last): return (os.stat(f).st_mode & 0100 != 0) def set_exec(f, mode): s = os.stat(f).st_mode if (s & 0100 != 0) == mode: return if mode: # Turn on +x for every +r bit when making a file executable # and obey umask. umask = os.umask(0) os.umask(umask) os.chmod(f, s | (s & 0444) >> 2 & ~umask) else: os.chmod(f, s & 0666) def pconvert(path): return path def makelock(info, pathname): os.symlink(info, pathname) def readlock(pathname): return os.readlink(pathname)