Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/pathutil.py @ 36678:d3b893ec5f08
py3: fix formatting of path-auditing errors
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sat, 03 Mar 2018 12:23:03 -0500 |
parents | 052351e3e1cd |
children | 21be76e07148 |
comparison
equal
deleted
inserted
replaced
36677:6585ac350fd9 | 36678:d3b893ec5f08 |
---|---|
79 for p in '.hg', '.hg.': | 79 for p in '.hg', '.hg.': |
80 if p in lparts[1:]: | 80 if p in lparts[1:]: |
81 pos = lparts.index(p) | 81 pos = lparts.index(p) |
82 base = os.path.join(*parts[:pos]) | 82 base = os.path.join(*parts[:pos]) |
83 raise error.Abort(_("path '%s' is inside nested repo %r") | 83 raise error.Abort(_("path '%s' is inside nested repo %r") |
84 % (path, base)) | 84 % (path, pycompat.bytestr(base))) |
85 | 85 |
86 normparts = util.splitpath(normpath) | 86 normparts = util.splitpath(normpath) |
87 assert len(parts) == len(normparts) | 87 assert len(parts) == len(normparts) |
88 | 88 |
89 parts.pop() | 89 parts.pop() |
117 # They must be ignored for patterns can be checked too. | 117 # They must be ignored for patterns can be checked too. |
118 if err.errno not in (errno.ENOENT, errno.ENOTDIR, errno.EINVAL): | 118 if err.errno not in (errno.ENOENT, errno.ENOTDIR, errno.EINVAL): |
119 raise | 119 raise |
120 else: | 120 else: |
121 if stat.S_ISLNK(st.st_mode): | 121 if stat.S_ISLNK(st.st_mode): |
122 msg = _('path %r traverses symbolic link %r') % (path, prefix) | 122 msg = (_('path %r traverses symbolic link %r') |
123 % (pycompat.bytestr(path), pycompat.bytestr(prefix))) | |
123 raise error.Abort(msg) | 124 raise error.Abort(msg) |
124 elif (stat.S_ISDIR(st.st_mode) and | 125 elif (stat.S_ISDIR(st.st_mode) and |
125 os.path.isdir(os.path.join(curpath, '.hg'))): | 126 os.path.isdir(os.path.join(curpath, '.hg'))): |
126 if not self.callback or not self.callback(curpath): | 127 if not self.callback or not self.callback(curpath): |
127 msg = _("path '%s' is inside nested repo %r") | 128 msg = _("path '%s' is inside nested repo %r") |
128 raise error.Abort(msg % (path, prefix)) | 129 raise error.Abort(msg % (path, pycompat.bytestr(prefix))) |
129 | 130 |
130 def check(self, path): | 131 def check(self, path): |
131 try: | 132 try: |
132 self(path) | 133 self(path) |
133 return True | 134 return True |