# HG changeset patch # User Pierre-Yves David # Date 1315501620 -7200 # Node ID 27f9c0d0a996fc99981f749fcc3c5471d2e3b28a # Parent cf4626a133450ce0cb3ff5d03973b876f9b29b03 [obsolete] Update pushkey code diff -r cf4626a13345 -r 27f9c0d0a996 hgext/obsolete.py --- a/hgext/obsolete.py Thu Sep 08 19:03:42 2011 +0200 +++ b/hgext/obsolete.py Thu Sep 08 19:07:00 2011 +0200 @@ -229,19 +229,20 @@ ### pull // push support def pull(self, remote, *args, **kwargs): - obskey = remote.listkeys('obsolete') - obsrels = obskey.get('relations', {}) result = opull(remote, *args, **kwargs) - for sub, objs in obsrels.iteritems(): - for obj in objs: - self.addobsolete(sub, obj) + if 'obsolete' in remote.listkeys('namespaces'): + tmp = StringIO() + tmp.write(remote.listkeys('obsolete')['relations']) + tmp.seek(0) + obsrels = repo._obsdeserialise(tmp) + for sub, objs in obsrels.iteritems(): + for obj in objs: + self.addobsolete(sub, obj) return result def push(self, remote, *args, **opts): - obskey = remote.listkeys('obsolete') - obssupport = 'relations' in obskey result = opush(remote, *args, **opts) - if obssupport: + if 'obsolete' in remote.listkeys('namespaces'): tmp = StringIO() repo._obsserialise(tmp) remote.pushkey('obsolete', 'relations', {}, tmp.getvalue())