# HG changeset patch # User Martin Geisler # Date 2009-05-30 21:42:35 # Node ID 3fa92c618624676ac1fc62167014c5fdc336bcc8 # Parent 284fda4cd093f9cc1694d14d684ba0954aee8d11 posix: do not use fstat in isowner The fstat function was undefined, but never used since a stat object was always passed in the optional st argument. Passing st is now mandatory. This bug crept in when util was split up into posix and windows modules. The fstat function is still defined in util, but importing it into posix would create an import cycle which seems unnecessary. diff --git a/mercurial/posix.py b/mercurial/posix.py --- a/mercurial/posix.py +++ b/mercurial/posix.py @@ -139,13 +139,8 @@ def explain_exit(code): return _("stopped by signal %d") % val, val raise ValueError(_("invalid exit code")) -def isowner(fp, st=None): - """Return True if the file object f belongs to the current user. - - The return value of a util.fstat(f) may be passed as the st argument. - """ - if st is None: - st = fstat(fp) +def isowner(st): + """Return True if the stat object st is from the current user.""" return st.st_uid == os.getuid() def find_exe(command): diff --git a/mercurial/ui.py b/mercurial/ui.py --- a/mercurial/ui.py +++ b/mercurial/ui.py @@ -40,7 +40,7 @@ class ui(object): def _is_trusted(self, fp, f): st = util.fstat(fp) - if util.isowner(fp, st): + if util.isowner(st): return True tusers, tgroups = self._trustusers, self._trustgroups diff --git a/mercurial/windows.py b/mercurial/windows.py --- a/mercurial/windows.py +++ b/mercurial/windows.py @@ -164,7 +164,7 @@ def explain_exit(code): # if you change this stub into a real check, please try to implement the # username and groupname functions above, too. -def isowner(fp, st=None): +def isowner(st): return True def find_exe(command): diff --git a/tests/test-trusted.py b/tests/test-trusted.py --- a/tests/test-trusted.py +++ b/tests/test-trusted.py @@ -44,7 +44,7 @@ def testui(user='foo', group='bar', tuse return group util.groupname = groupname - def isowner(fp, st=None): + def isowner(st): return user == cuser util.isowner = isowner