# -*- encoding: utf-8 -*-
+import logging
+log = logging.getLogger('ral.mercurial')
+
__author__= "Ćukasz Rekucki"
__date__ = "$2009-09-25 09:20:22$"
__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):
@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()
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()