From 2e69cfe7c92ee06d2bfe0423ab0de9bb53dcf81e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20G=C3=A2teau?= Date: Tue, 11 Jul 2017 08:31:44 +0200 Subject: [PATCH] Fix solving conflicts where ancestor is a V1 dump --- yokadi/sync/conflictingobject.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/yokadi/sync/conflictingobject.py b/yokadi/sync/conflictingobject.py index 5bfa3510..ed39d352 100644 --- a/yokadi/sync/conflictingobject.py +++ b/yokadi/sync/conflictingobject.py @@ -26,10 +26,17 @@ def __init__(self, path, domain, ancestor, local, remote): @staticmethod def fromVcsConflict(conflict): domain = os.path.dirname(conflict.path) + + def _normalized_key(key): + # Turn V1 dump keys into V2 dump keys + return key.replace("Date", "_date") + def _load_json(json_or_none): if json_or_none is None: return None - return json.loads(json_or_none.decode('utf-8')) + dct = json.loads(json_or_none.decode('utf-8')) + return dict((_normalized_key(k), v) for k, v in dct.items()) + ancestor = _load_json(conflict.ancestor) local = _load_json(conflict.local) remote = _load_json(conflict.remote)