Quick fix :(
[redakcja.git] / lib / wlrepo / mercurial_backend / __init__.py
index 9a22395..f919e81 100644 (file)
@@ -7,6 +7,9 @@ __doc__ = "Module documentation."
 import wlrepo
 from mercurial.node import nullid
 
 import wlrepo
 from mercurial.node import nullid
 
+from mercurial import encoding
+encoding.encoding = 'utf-8'
+
 class MercurialRevision(wlrepo.Revision):
 
     def __init__(self, lib, changectx):
 class MercurialRevision(wlrepo.Revision):
 
     def __init__(self, lib, changectx):
@@ -28,11 +31,11 @@ class MercurialRevision(wlrepo.Revision):
         
     @property
     def document_name(self):
         
     @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):
 
     @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()
 
     def hgrev(self):
         return self._changectx.node()
@@ -72,6 +75,9 @@ class MercurialRevision(wlrepo.Revision):
         a = self._changectx.ancestor(other._changectx)       
         return (a.branch() == self._changectx.branch())
 
         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):
         lock = self._library.lock(True)
         try:
     def merge_with(self, other, user, message):
         lock = self._library.lock(True)
         try: