changeset 3941:3208aaefc9ca beta

Moved all Mercurial imports into hgcompat from vcs
author Marcin Kuzminski <marcin@python-works.com>
date Mon, 03 Jun 2013 23:54:52 +0200
parents 3a608d72a86f
children e6a3f4b414d2
files rhodecode/controllers/pullrequests.py rhodecode/lib/hooks.py rhodecode/lib/middleware/simplehg.py rhodecode/lib/utils.py rhodecode/lib/vcs/utils/baseui_config.py rhodecode/lib/vcs/utils/hgcompat.py rhodecode/model/validators.py rhodecode/tests/vcs/test_hg.py
diffstat 8 files changed, 19 insertions(+), 21 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/controllers/pullrequests.py	Sat May 25 16:01:41 2013 +0000
+++ b/rhodecode/controllers/pullrequests.py	Mon Jun 03 23:54:52 2013 +0200
@@ -30,8 +30,8 @@
 from collections import defaultdict
 from itertools import groupby
 
-from pylons import request, response, session, tmpl_context as c, url
-from pylons.controllers.util import abort, redirect
+from pylons import request, tmpl_context as c, url
+from pylons.controllers.util import redirect
 from pylons.i18n.translation import _
 
 from rhodecode.lib.compat import json
@@ -44,17 +44,14 @@
 from rhodecode.lib.utils import action_logger, jsonify
 from rhodecode.lib.vcs.utils import safe_str
 from rhodecode.lib.vcs.exceptions import EmptyRepositoryError
-from rhodecode.lib.vcs.backends.base import EmptyChangeset
 from rhodecode.lib.diffs import LimitedDiffContainer
-from rhodecode.model.db import User, PullRequest, ChangesetStatus,\
-    ChangesetComment
+from rhodecode.model.db import  PullRequest, ChangesetStatus, ChangesetComment
 from rhodecode.model.pull_request import PullRequestModel
 from rhodecode.model.meta import Session
 from rhodecode.model.repo import RepoModel
 from rhodecode.model.comment import ChangesetCommentsModel
 from rhodecode.model.changeset_status import ChangesetStatusModel
 from rhodecode.model.forms import PullRequestForm
-from mercurial import scmutil
 from rhodecode.lib.utils2 import safe_int
 
 log = logging.getLogger(__name__)
--- a/rhodecode/lib/hooks.py	Sat May 25 16:01:41 2013 +0000
+++ b/rhodecode/lib/hooks.py	Mon Jun 03 23:54:52 2013 +0200
@@ -29,9 +29,7 @@
 import traceback
 from inspect import isfunction
 
-from mercurial.scmutil import revrange
-from mercurial.node import nullrev
-
+from rhodecode.lib.vcs.utils.hgcompat import nullrev, revrange
 from rhodecode.lib import helpers as h
 from rhodecode.lib.utils import action_logger
 from rhodecode.lib.vcs.backends.base import EmptyChangeset
--- a/rhodecode/lib/middleware/simplehg.py	Sat May 25 16:01:41 2013 +0000
+++ b/rhodecode/lib/middleware/simplehg.py	Mon Jun 03 23:54:52 2013 +0200
@@ -28,8 +28,6 @@
 import logging
 import traceback
 
-from mercurial.error import RepoError
-from mercurial.hgweb import hgweb_mod
 
 from paste.httpheaders import REMOTE_USER, AUTH_TYPE
 from webob.exc import HTTPNotFound, HTTPForbidden, HTTPInternalServerError, \
@@ -41,6 +39,7 @@
 from rhodecode.lib.auth import get_container_username
 from rhodecode.lib.utils import make_ui, is_valid_repo, ui_sections
 from rhodecode.lib.compat import json
+from rhodecode.lib.vcs.utils.hgcompat import RepoError, hgweb_mod
 from rhodecode.model.db import User
 from rhodecode.lib.exceptions import HTTPLockedRC
 
--- a/rhodecode/lib/utils.py	Sat May 25 16:01:41 2013 +0000
+++ b/rhodecode/lib/utils.py	Mon Jun 03 23:54:52 2013 +0200
@@ -39,13 +39,12 @@
 
 from paste.script.command import Command, BadCommand
 
-from mercurial import ui, config
-
 from webhelpers.text import collapse, remove_formatting, strip_tags
 
 from rhodecode.lib.vcs import get_backend
 from rhodecode.lib.vcs.backends.base import BaseChangeset
 from rhodecode.lib.vcs.utils.lazy import LazyProperty
+from rhodecode.lib.vcs.utils.hgcompat import ui, config
 from rhodecode.lib.vcs.utils.helpers import get_scm
 from rhodecode.lib.vcs.exceptions import VCSError
 
--- a/rhodecode/lib/vcs/utils/baseui_config.py	Sat May 25 16:01:41 2013 +0000
+++ b/rhodecode/lib/vcs/utils/baseui_config.py	Mon Jun 03 23:54:52 2013 +0200
@@ -1,4 +1,4 @@
-from mercurial import ui, config
+from rhodecode.lib.vcs.utils.hgcompat import ui, config
 
 
 def make_ui(self, path='hgwebdir.config'):
--- a/rhodecode/lib/vcs/utils/hgcompat.py	Sat May 25 16:01:41 2013 +0000
+++ b/rhodecode/lib/vcs/utils/hgcompat.py	Mon Jun 03 23:54:52 2013 +0200
@@ -2,23 +2,28 @@
 Mercurial libs compatibility
 """
 
+import mercurial
 from mercurial import archival, merge as hg_merge, patch, ui
+from mercurial import discovery
+from mercurial import localrepo
+from mercurial import scmutil
+from mercurial import config
 from mercurial.commands import clone, nullid, pull
 from mercurial.context import memctx, memfilectx
 from mercurial.error import RepoError, RepoLookupError, Abort
+from mercurial.hgweb import hgweb_mod
 from mercurial.hgweb.common import get_contact
 from mercurial.localrepo import localrepository
 from mercurial.match import match
 from mercurial.mdiff import diffopts
 from mercurial.node import hex
 from mercurial.encoding import tolocal
-from mercurial import discovery
-from mercurial import localrepo
-from mercurial import scmutil
 from mercurial.discovery import findcommonoutgoing
 from mercurial.hg import peer
-
+from mercurial.httppeer import httppeer
 from mercurial.util import url as hg_url
+from mercurial.scmutil import revrange
+from mercurial.node import nullrev
 
 # those authnadlers are patched for python 2.6.5 bug an
 # infinit looping when given invalid resources
--- a/rhodecode/model/validators.py	Sat May 25 16:01:41 2013 +0000
+++ b/rhodecode/model/validators.py	Mon Jun 03 23:54:52 2013 +0200
@@ -406,7 +406,7 @@
     def url_handler(repo_type, url, ui=None):
         if repo_type == 'hg':
             from rhodecode.lib.vcs.backends.hg.repository import MercurialRepository
-            from mercurial.httppeer import httppeer
+            from rhodecode.lib.vcs.utils.hgcompat import httppeer
             if url.startswith('http'):
                 ## initially check if it's at least the proper URL
                 ## or does it pass basic auth
@@ -418,7 +418,7 @@
             elif url.startswith('git+http'):
                 raise NotImplementedError()
             else:
-                raise Exception('clone from URI %s not allowed' % (url))
+                raise Exception('clone from URI %s not allowed' % (url,))
 
         elif repo_type == 'git':
             from rhodecode.lib.vcs.backends.git.repository import GitRepository
--- a/rhodecode/tests/vcs/test_hg.py	Sat May 25 16:01:41 2013 +0000
+++ b/rhodecode/tests/vcs/test_hg.py	Mon Jun 03 23:54:52 2013 +0200
@@ -10,7 +10,7 @@
 
 
 # Use only clean mercurial's ui
-import mercurial.scmutil
+from rhodecode.lib.vcs.utils.hgcompat import mercurial
 mercurial.scmutil.rcpath()
 if mercurial.scmutil._rcpath:
     mercurial.scmutil._rcpath = mercurial.scmutil._rcpath[:1]