# HG changeset patch # User Pierre-Yves David # Date 1401228020 25200 # Node ID ed6e61eaebc0b7ad4303b2ed149c1127a7b96e6e # Parent 3aae044408aac80ae2c17bd0e0ca26554d37ffba pushkey: introduce an ``decodekeys`` function This function provides a standardized way to exchange pushkey content over the wire. diff -r 3aae044408aa -r ed6e61eaebc0 mercurial/pushkey.py --- a/mercurial/pushkey.py Tue May 27 15:00:08 2014 -0700 +++ b/mercurial/pushkey.py Tue May 27 15:00:20 2014 -0700 @@ -41,3 +41,11 @@ """encode the content of a pushkey namespace for exchange over the wire""" enc = encoding.fromlocal return '\n'.join(['%s\t%s' % (enc(k), enc(v)) for k, v in keys]) + +def decodekeys(data): + """decode the content of a pushkey namespace from exchange over the wire""" + result = {} + for l in data.splitlines(): + k, v = l.split('\t') + result[encoding.tolocal(k)] = encoding.tolocal(v) + return result