diff --git a/kallithea/controllers/pullrequests.py b/kallithea/controllers/pullrequests.py --- a/kallithea/controllers/pullrequests.py +++ b/kallithea/controllers/pullrequests.py @@ -530,9 +530,14 @@ class PullrequestsController(BaseRepoCon # Note: org_scm_instance.path must come first so all # valid revision numbers are 100% org_scm compatible # - both for avail_revs and for revset results - hgrepo = unionrepo.unionrepository(org_scm_instance.baseui, - org_scm_instance.path, - other_scm_instance.path) + try: + hgrepo = unionrepo.makeunionrepository(org_scm_instance.baseui, + org_scm_instance.path, + other_scm_instance.path) + except AttributeError: # makeunionrepository was introduced in Mercurial 4.8 23f2299e9e53 + hgrepo = unionrepo.unionrepository(org_scm_instance.baseui, + org_scm_instance.path, + other_scm_instance.path) else: hgrepo = org_scm_instance._repo show = set(hgrepo.revs('::%ld & !::parents(%s) & !::%s', diff --git a/kallithea/model/user.py b/kallithea/model/user.py --- a/kallithea/model/user.py +++ b/kallithea/model/user.py @@ -38,7 +38,7 @@ from tg.i18n import ugettext as _ from kallithea.lib.caching_query import FromCache from kallithea.lib.exceptions import DefaultUserException, UserOwnsReposException -from kallithea.lib.utils2 import generate_api_key, get_current_authuser, safe_str +from kallithea.lib.utils2 import generate_api_key, get_current_authuser, safe_unicode from kallithea.model.db import Permission, User, UserEmailMap, UserIpMap, UserToPerm from kallithea.model.meta import Session @@ -142,9 +142,9 @@ class UserModel(object): new_user.admin = admin new_user.email = email new_user.active = active - new_user.extern_name = safe_str(extern_name) \ + new_user.extern_name = safe_unicode(extern_name) \ if extern_name else None - new_user.extern_type = safe_str(extern_type) \ + new_user.extern_type = safe_unicode(extern_type) \ if extern_type else None new_user.name = firstname new_user.lastname = lastname