# HG changeset patch # User Marcin Kuzminski # Date 1370296492 -7200 # Node ID 3208aaefc9ca716f0d4520c4f8a742111789b7b8 # Parent 3a608d72a86fe8219793a6ae2a92dd3a42794909 Moved all Mercurial imports into hgcompat from vcs diff -r 3a608d72a86f -r 3208aaefc9ca rhodecode/controllers/pullrequests.py --- 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__) diff -r 3a608d72a86f -r 3208aaefc9ca rhodecode/lib/hooks.py --- 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 diff -r 3a608d72a86f -r 3208aaefc9ca rhodecode/lib/middleware/simplehg.py --- 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 diff -r 3a608d72a86f -r 3208aaefc9ca rhodecode/lib/utils.py --- 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 diff -r 3a608d72a86f -r 3208aaefc9ca rhodecode/lib/vcs/utils/baseui_config.py --- 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'): diff -r 3a608d72a86f -r 3208aaefc9ca rhodecode/lib/vcs/utils/hgcompat.py --- 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 diff -r 3a608d72a86f -r 3208aaefc9ca rhodecode/model/validators.py --- 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 diff -r 3a608d72a86f -r 3208aaefc9ca rhodecode/tests/vcs/test_hg.py --- 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]