diff --git a/HISTORY.txt b/HISTORY.txt --- a/HISTORY.txt +++ b/HISTORY.txt @@ -1,3 +1,9 @@ + + +~~~~~~~~~~~~ + +4.6-compatibility + 1.1.8 ~~~~~~~~~~~~~ diff --git a/mercurial_keyring.py b/mercurial_keyring.py --- a/mercurial_keyring.py +++ b/mercurial_keyring.py @@ -58,7 +58,7 @@ import os import sys import re -from mercurial import util, sslutil +from mercurial import util, sslutil, error from mercurial.i18n import _ from mercurial.url import passwordmgr from mercurial import mail @@ -95,7 +95,7 @@ def import_meu(): try: import mercurial_extension_utils except ImportError: - raise util.Abort(_("""Can not import mercurial_extension_utils. + raise error.Abort(_("""Can not import mercurial_extension_utils. Please install this module in Python path. See Installation chapter in https://bitbucket.org/Mekk/mercurial_keyring/ for details (and for info about TortoiseHG on Windows, or other bundled Python).""")) @@ -328,7 +328,7 @@ class HTTPPasswordHandler(object): auth_user, auth_pwd, keyring_url = self.get_url_config( ui, parsed_url, actual_user) if auth_user and actual_user and (actual_user != auth_user): - raise util.Abort(_('keyring: username for %s specified both in repository path (%s) and in .hg/hgrc/[auth] (%s). Please, leave only one of those' % (base_url, actual_user, auth_user))) + raise error.Abort(_('keyring: username for %s specified both in repository path (%s) and in .hg/hgrc/[auth] (%s). Please, leave only one of those' % (base_url, actual_user, auth_user))) if auth_user and auth_pwd: return auth_user, auth_pwd, self.SRC_CFGAUTH, keyring_url @@ -356,7 +356,7 @@ class HTTPPasswordHandler(object): def prompt_interactively(ui, user, realm, url): """Actual interactive prompt""" if not ui.interactive(): - raise util.Abort(_('keyring: http authorization required but program used in non-interactive mode')) + raise error.Abort(_('keyring: http authorization required but program used in non-interactive mode')) if not user: ui.status(_("keyring: username not specified in hgrc (or in url). Password will not be saved.\n")) @@ -607,7 +607,7 @@ def try_smtp_login(ui, smtp_obj, usernam ui.status(_("SMTP login failed: %s\n\n") % inst.smtp_error) return False else: - raise util.Abort(inst) + raise error.Abort(inst) def keyring_supported_smtp(ui, username): @@ -626,14 +626,14 @@ def keyring_supported_smtp(ui, username) starttls = tls == 'starttls' or util.parsebool(tls) smtps = tls == 'smtps' if (starttls or smtps) and not util.safehasattr(socket, 'ssl'): - raise util.Abort(_("can't use TLS: Python SSL support not installed")) + raise error.Abort(_("can't use TLS: Python SSL support not installed")) mailhost = ui.config('smtp', 'host') if not mailhost: - raise util.Abort(_('smtp.host not configured - cannot send mail')) + raise error.Abort(_('smtp.host not configured - cannot send mail')) verifycert = ui.config('smtp', 'verifycert', 'strict') if verifycert not in ['strict', 'loose']: if util.parsebool(verifycert) is not False: - raise util.Abort(_('invalid smtp.verifycert configuration: %s') + raise error.Abort(_('invalid smtp.verifycert configuration: %s') % (verifycert)) verifycert = False if getattr(sslutil, 'sslkwargs', None) is None: @@ -699,9 +699,9 @@ def keyring_supported_smtp(ui, username) return s.sendmail(sender, recipients, msg) except smtplib.SMTPRecipientsRefused, inst: recipients = [r[1] for r in inst.recipients.values()] - raise util.Abort('\n' + '\n'.join(recipients)) + raise error.Abort('\n' + '\n'.join(recipients)) except smtplib.SMTPException, inst: - raise util.Abort(inst) + raise error.Abort(inst) return send