Mercurial > hg
comparison hgext/eol.py @ 32987:74930cf4a10e stable
eol: import 'error' as 'errormod'
We need the 'error' name available to fix another bug, so we rename the imported
module.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Fri, 23 Jun 2017 13:24:45 +0200 |
parents | fe9b33bcec6a |
children | 4e7352b8325c |
comparison
equal
deleted
inserted
replaced
32827:d3ab31bf9c0e | 32987:74930cf4a10e |
---|---|
96 import os | 96 import os |
97 import re | 97 import re |
98 from mercurial.i18n import _ | 98 from mercurial.i18n import _ |
99 from mercurial import ( | 99 from mercurial import ( |
100 config, | 100 config, |
101 error, | 101 error as errormod, |
102 extensions, | 102 extensions, |
103 match, | 103 match, |
104 pycompat, | 104 pycompat, |
105 util, | 105 util, |
106 ) | 106 ) |
223 else: | 223 else: |
224 data = repo[node]['.hgeol'].data() | 224 data = repo[node]['.hgeol'].data() |
225 return eolfile(ui, repo.root, data) | 225 return eolfile(ui, repo.root, data) |
226 except (IOError, LookupError): | 226 except (IOError, LookupError): |
227 pass | 227 pass |
228 except error.ParseError as inst: | 228 except errormod.ParseError as inst: |
229 ui.warn(_("warning: ignoring .hgeol file due to parse error " | 229 ui.warn(_("warning: ignoring .hgeol file due to parse error " |
230 "at %s: %s\n") % (inst.args[1], inst.args[0])) | 230 "at %s: %s\n") % (inst.args[1], inst.args[0])) |
231 return None | 231 return None |
232 | 232 |
233 def _checkhook(ui, repo, node, headsonly): | 233 def _checkhook(ui, repo, node, headsonly): |
252 eols = {'to-lf': 'CRLF', 'to-crlf': 'LF'} | 252 eols = {'to-lf': 'CRLF', 'to-crlf': 'LF'} |
253 msgs = [] | 253 msgs = [] |
254 for f, target, node in sorted(failed): | 254 for f, target, node in sorted(failed): |
255 msgs.append(_(" %s in %s should not have %s line endings") % | 255 msgs.append(_(" %s in %s should not have %s line endings") % |
256 (f, node, eols[target])) | 256 (f, node, eols[target])) |
257 raise error.Abort(_("end-of-line check failed:\n") + "\n".join(msgs)) | 257 raise errormod.Abort(_("end-of-line check failed:\n") + "\n".join(msgs)) |
258 | 258 |
259 def checkallhook(ui, repo, node, hooktype, **kwargs): | 259 def checkallhook(ui, repo, node, hooktype, **kwargs): |
260 """verify that files have expected EOLs""" | 260 """verify that files have expected EOLs""" |
261 _checkhook(ui, repo, node, False) | 261 _checkhook(ui, repo, node, False) |
262 | 262 |
354 # the new .hgeol file specify a different filter | 354 # the new .hgeol file specify a different filter |
355 self.dirstate.normallookup(f) | 355 self.dirstate.normallookup(f) |
356 # Write the cache to update mtime and cache .hgeol | 356 # Write the cache to update mtime and cache .hgeol |
357 with self.vfs("eol.cache", "w") as f: | 357 with self.vfs("eol.cache", "w") as f: |
358 f.write(hgeoldata) | 358 f.write(hgeoldata) |
359 except error.LockUnavailable: | 359 except errormod.LockUnavailable: |
360 # If we cannot lock the repository and clear the | 360 # If we cannot lock the repository and clear the |
361 # dirstate, then a commit might not see all files | 361 # dirstate, then a commit might not see all files |
362 # as modified. But if we cannot lock the | 362 # as modified. But if we cannot lock the |
363 # repository, then we can also not make a commit, | 363 # repository, then we can also not make a commit, |
364 # so ignore the error. | 364 # so ignore the error. |
379 # We should not abort here, since the user should | 379 # We should not abort here, since the user should |
380 # be able to say "** = native" to automatically | 380 # be able to say "** = native" to automatically |
381 # have all non-binary files taken care of. | 381 # have all non-binary files taken care of. |
382 continue | 382 continue |
383 if inconsistenteol(data): | 383 if inconsistenteol(data): |
384 raise error.Abort(_("inconsistent newline style " | 384 raise errormod.Abort(_("inconsistent newline style " |
385 "in %s\n") % f) | 385 "in %s\n") % f) |
386 return super(eolrepo, self).commitctx(ctx, haserror) | 386 return super(eolrepo, self).commitctx(ctx, haserror) |
387 repo.__class__ = eolrepo | 387 repo.__class__ = eolrepo |
388 repo._hgcleardirstate() | 388 repo._hgcleardirstate() |