Mercurial > public > mercurial-scm > hg-stable
diff mercurial/util.py @ 31683:1ed57a7dd904
statfs: make getfstype() raise OSError
It's better for getfstype() function to not suppress an error. Callers can
handle it as necessary. Now "hg debugfsinfo" will report OSError.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sat, 25 Mar 2017 17:25:23 +0900 |
parents | 080734cd2440 |
children | bf64449b2779 |
line wrap: on
line diff
--- a/mercurial/util.py Sat Mar 25 17:24:11 2017 +0900 +++ b/mercurial/util.py Sat Mar 25 17:25:23 2017 +0900 @@ -1089,7 +1089,10 @@ if hardlink: # Hardlinks are problematic on CIFS (issue4546), do not allow hardlinks # unless we are confident that dest is on a whitelisted filesystem. - fstype = getfstype(os.path.dirname(dest)) + try: + fstype = getfstype(os.path.dirname(dest)) + except OSError: + fstype = None if fstype not in _hardlinkfswhitelist: hardlink = False if hardlink: @@ -1372,7 +1375,7 @@ def getfstype(dirpath): '''Get the filesystem type name from a directory (best-effort) - Returns None if we are unsure, or errors like ENOENT, EPERM happen. + Returns None if we are unsure. Raises OSError on ENOENT, EPERM, etc. ''' return getattr(osutil, 'getfstype', lambda x: None)(dirpath)