# HG changeset patch # User Vadim Gelfer # Date 2006-06-16 19:58:24 # Node ID b77a2ef61b81a7cdaa70bb68f0b66860b86c0e81 # Parent cd00531ecc16dc8104f410bffb86c0a246a883d5 replace os.stat with os.lstat in some where. diff --git a/mercurial/dirstate.py b/mercurial/dirstate.py --- a/mercurial/dirstate.py +++ b/mercurial/dirstate.py @@ -471,7 +471,7 @@ class dirstate(object): # check the common case first if type_ == 'n': if not st: - st = os.stat(self.wjoin(fn)) + st = os.lstat(self.wjoin(fn)) if size >= 0 and (size != st.st_size or (mode ^ st.st_mode) & 0100): modified.append(fn) diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -242,7 +242,7 @@ class localrepository(object): raise repo.RepoError(_("unknown revision '%s'") % key) def dev(self): - return os.stat(self.path).st_dev + return os.lstat(self.path).st_dev def local(self): return True diff --git a/mercurial/util.py b/mercurial/util.py --- a/mercurial/util.py +++ b/mercurial/util.py @@ -474,7 +474,7 @@ def _readlock_file(pathname): def nlinks(pathname): """Return number of hardlinks for the given file.""" - return os.stat(pathname).st_nlink + return os.lstat(pathname).st_nlink if hasattr(os, 'link'): os_link = os.link @@ -625,10 +625,10 @@ else: def is_exec(f, last): """check whether a file is executable""" - return (os.stat(f).st_mode & 0100 != 0) + return (os.lstat(f).st_mode & 0100 != 0) def set_exec(f, mode): - s = os.stat(f).st_mode + s = os.lstat(f).st_mode if (s & 0100 != 0) == mode: return if mode: diff --git a/mercurial/util_win32.py b/mercurial/util_win32.py --- a/mercurial/util_win32.py +++ b/mercurial/util_win32.py @@ -162,7 +162,7 @@ def nlinks(pathname): fh.Close() return res[7] except pywintypes.error: - return os.stat(pathname).st_nlink + return os.lstat(pathname).st_nlink def testpid(pid): '''return True if pid is still running or unable to