X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/3546a2b2d5f52224bcf95803030611ab505f29cd..bc6587a11ccc72c7f4bf525f9b37fedc15f8bfa5:/lib/wlrepo/mercurial_backend/__init__.py diff --git a/lib/wlrepo/mercurial_backend/__init__.py b/lib/wlrepo/mercurial_backend/__init__.py index 9a22395e..22a9d520 100644 --- a/lib/wlrepo/mercurial_backend/__init__.py +++ b/lib/wlrepo/mercurial_backend/__init__.py @@ -1,5 +1,8 @@ # -*- encoding: utf-8 -*- +import logging +log = logging.getLogger('ral.mercurial') + __author__= "Łukasz Rekucki" __date__ = "$2009-09-25 09:20:22$" __doc__ = "Module documentation." @@ -7,6 +10,9 @@ __doc__ = "Module documentation." import wlrepo from mercurial.node import nullid +from mercurial import encoding +encoding.encoding = 'utf-8' + class MercurialRevision(wlrepo.Revision): def __init__(self, lib, changectx): @@ -28,11 +34,11 @@ class MercurialRevision(wlrepo.Revision): @property def document_name(self): - return self._docname.decode('utf-8') + return self._docname and self._docname.decode('utf-8') @property def user_name(self): - return self._username.decode('utf-8') + return self._username and self._username.decode('utf-8') def hgrev(self): return self._changectx.node() @@ -72,16 +78,20 @@ class MercurialRevision(wlrepo.Revision): a = self._changectx.ancestor(other._changectx) return (a.branch() == self._changectx.branch()) + def has_children(self): + return bool(self._library._hgrepo.changelog.children(self.hgrev())) + def merge_with(self, other, user, message): + message = self._library._sanitize_string(message) lock = self._library.lock(True) try: self._library._checkout(self._changectx.node()) status = self._library._merge(other._changectx.node()) if status.isclean(): self._library._commit(user=user, message=message) - return (True, True) + return True else: - return (False, False) + return False finally: lock.release()