Mercurial > hg
comparison mercurial/match.py @ 26587:56b2bcea2529
error: get Abort from 'error' instead of 'util'
The home of 'Abort' is 'error' not 'util' however, a lot of code seems to be
confused about that and gives all the credit to 'util' instead of the
hardworking 'error'. In a spirit of equity, we break the cycle of injustice and
give back to 'error' the respect it deserves. And screw that 'util' poser.
For great justice.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Thu, 08 Oct 2015 12:55:45 -0700 |
parents | a5f62af29517 |
children | 1aee2ab0f902 |
comparison
equal
deleted
inserted
replaced
26586:d51c658d3f04 | 26587:56b2bcea2529 |
---|---|
11 import os | 11 import os |
12 import re | 12 import re |
13 | 13 |
14 from .i18n import _ | 14 from .i18n import _ |
15 from . import ( | 15 from . import ( |
16 error, | |
16 pathutil, | 17 pathutil, |
17 util, | 18 util, |
18 ) | 19 ) |
19 | 20 |
20 propertycache = util.propertycache | 21 propertycache = util.propertycache |
35 other = [] | 36 other = [] |
36 | 37 |
37 for kind, pat, source in kindpats: | 38 for kind, pat, source in kindpats: |
38 if kind == 'set': | 39 if kind == 'set': |
39 if not ctx: | 40 if not ctx: |
40 raise util.Abort("fileset expression with no context") | 41 raise error.Abort("fileset expression with no context") |
41 s = ctx.getfileset(pat) | 42 s = ctx.getfileset(pat) |
42 fset.update(s) | 43 fset.update(s) |
43 | 44 |
44 if listsubrepos: | 45 if listsubrepos: |
45 for subpath in ctx.substate: | 46 for subpath in ctx.substate: |
288 files = files.split('\0') | 289 files = files.split('\0') |
289 else: | 290 else: |
290 files = files.splitlines() | 291 files = files.splitlines() |
291 files = [f for f in files if f] | 292 files = [f for f in files if f] |
292 except EnvironmentError: | 293 except EnvironmentError: |
293 raise util.Abort(_("unable to read file list (%s)") % pat) | 294 raise error.Abort(_("unable to read file list (%s)") % pat) |
294 for k, p, source in self._normalize(files, default, root, cwd, | 295 for k, p, source in self._normalize(files, default, root, cwd, |
295 auditor): | 296 auditor): |
296 kindpats.append((k, p, pat)) | 297 kindpats.append((k, p, pat)) |
297 continue | 298 continue |
298 elif kind == 'include': | 299 elif kind == 'include': |
300 fullpath = os.path.join(root, util.localpath(pat)) | 301 fullpath = os.path.join(root, util.localpath(pat)) |
301 includepats = readpatternfile(fullpath, self._warn) | 302 includepats = readpatternfile(fullpath, self._warn) |
302 for k, p, source in self._normalize(includepats, default, | 303 for k, p, source in self._normalize(includepats, default, |
303 root, cwd, auditor): | 304 root, cwd, auditor): |
304 kindpats.append((k, p, source or pat)) | 305 kindpats.append((k, p, source or pat)) |
305 except util.Abort as inst: | 306 except error.Abort as inst: |
306 raise util.Abort('%s: %s' % (pat, inst[0])) | 307 raise error.Abort('%s: %s' % (pat, inst[0])) |
307 except IOError as inst: | 308 except IOError as inst: |
308 if self._warn: | 309 if self._warn: |
309 self._warn(_("skipping unreadable pattern file " | 310 self._warn(_("skipping unreadable pattern file " |
310 "'%s': %s\n") % (pat, inst.strerror)) | 311 "'%s': %s\n") % (pat, inst.strerror)) |
311 continue | 312 continue |
585 for k, p, s in kindpats: | 586 for k, p, s in kindpats: |
586 try: | 587 try: |
587 _rematcher('(?:%s)' % _regex(k, p, globsuffix)) | 588 _rematcher('(?:%s)' % _regex(k, p, globsuffix)) |
588 except re.error: | 589 except re.error: |
589 if s: | 590 if s: |
590 raise util.Abort(_("%s: invalid pattern (%s): %s") % | 591 raise error.Abort(_("%s: invalid pattern (%s): %s") % |
591 (s, k, p)) | 592 (s, k, p)) |
592 else: | 593 else: |
593 raise util.Abort(_("invalid pattern (%s): %s") % (k, p)) | 594 raise error.Abort(_("invalid pattern (%s): %s") % (k, p)) |
594 raise util.Abort(_("invalid pattern")) | 595 raise error.Abort(_("invalid pattern")) |
595 | 596 |
596 def _roots(kindpats): | 597 def _roots(kindpats): |
597 '''return roots and exact explicitly listed files from patterns | 598 '''return roots and exact explicitly listed files from patterns |
598 | 599 |
599 >>> _roots([('glob', 'g/*', ''), ('glob', 'g', ''), ('glob', 'g*', '')]) | 600 >>> _roots([('glob', 'g/*', ''), ('glob', 'g', ''), ('glob', 'g*', '')]) |