mercurial/util.py
changeset 441 e8af362cfb01
parent 422 10c43444a38e
child 461 9ae0034f2772
child 464 50da4bb9cab6
equal deleted inserted replaced
440:22b5aaeb3637 441:e8af362cfb01
    14         os.unlink(dst)
    14         os.unlink(dst)
    15         os.rename(src, dst)
    15         os.rename(src, dst)
    16 
    16 
    17 # Platfor specific varients
    17 # Platfor specific varients
    18 if os.name == 'nt':
    18 if os.name == 'nt':
       
    19     def is_exec(f, last):
       
    20         return last
       
    21 
       
    22     def set_exec(f, mode):
       
    23         pass
       
    24     
    19     def pconvert(path):
    25     def pconvert(path):
    20         return path.replace("\\", "/")
    26         return path.replace("\\", "/")
    21 
    27 
    22     def makelock(info, pathname):
    28     def makelock(info, pathname):
    23         ld = os.open(pathname, os.O_CREAT | os.O_WRONLY | os.O_EXCL)
    29         ld = os.open(pathname, os.O_CREAT | os.O_WRONLY | os.O_EXCL)
    25         os.close(ld)
    31         os.close(ld)
    26 
    32 
    27     def readlock(pathname):
    33     def readlock(pathname):
    28         return file(pathname).read()
    34         return file(pathname).read()
    29 else:
    35 else:
       
    36     def is_exec(f, last):
       
    37         return (os.stat(f).st_mode & 0100 != 0)
       
    38 
       
    39     def set_exec(f, mode):
       
    40         s = os.stat(f).st_mode
       
    41         if (s & 0100 != 0) == mode:
       
    42             return
       
    43         if mode:
       
    44             # Turn on +x for every +r bit when making a file executable
       
    45             # and obey umask.
       
    46             umask = os.umask(0)
       
    47             os.umask(umask)
       
    48             os.chmod(f, s | (s & 0444) >> 2 & ~umask)
       
    49         else:
       
    50             os.chmod(f, s & 0666)
       
    51 
    30     def pconvert(path):
    52     def pconvert(path):
    31         return path
    53         return path
    32 
    54 
    33     def makelock(info, pathname):
    55     def makelock(info, pathname):
    34         os.symlink(info, pathname)
    56         os.symlink(info, pathname)