site

(Pierre-Yves David)
2011-09-19: [obsolet] base64 encore obsolete rel for pushkey

[obsolet] base64 encore obsolete rel for pushkey Yop this is ugly

diff --git a/hgext/obsolete.py b/hgext/obsolete.py
--- a/hgext/obsolete.py
+++ b/hgext/obsolete.py
@@ -80,6 +80,8 @@ except ImportError:
 
 from mercurial.i18n import _
 
+import base64
+
 from mercurial import util
 from mercurial import context
 from mercurial import revset
@@ -221,7 +223,7 @@ def listobsolete(repo):
     XXX this have be improved"""
     tmp = StringIO()
     _obsserialise(repo._obssubrels, tmp)
-    return {'relations': tmp.getvalue()}
+    return {'relations': base64.b64encode(tmp.getvalue())}
 
 pushkey.register('obsolete', pushobsolete, listobsolete)
 
@@ -405,7 +407,8 @@ def reposetup(ui, repo):
             result = opull(remote, *args, **kwargs)
             if 'obsolete' in remote.listkeys('namespaces'):
                 tmp = StringIO()
-                tmp.write(remote.listkeys('obsolete')['relations'])
+                rels = remote.listkeys('obsolete')['relations']
+                tmp.write(base64.b64decode(rels))
                 tmp.seek(0)
                 obsrels = _obsdeserialise(tmp)
                 for sub, objs in obsrels.iteritems():