summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Kögl <stefan@skoegl.net>2016-02-13 15:41:18 +0100
committerStefan Kögl <stefan@skoegl.net>2016-02-13 15:41:18 +0100
commit4443d3241b8e11e691d4700b37db469120993d9d (patch)
treeca7ed96b510a812ac48014ddd0b84a7a611cf284
parenta33021bf5a87350abc225a15c2a12880d88ed383 (diff)
downloadpython-json-patch-4443d3241b8e11e691d4700b37db469120993d9d.tar.gz
Make ``move`` operation with from == path a no-op
-rw-r--r--jsonpatch.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/jsonpatch.py b/jsonpatch.py
index 838d66c..917fc33 100644
--- a/jsonpatch.py
+++ b/jsonpatch.py
@@ -484,6 +484,10 @@ class MoveOperation(PatchOperation):
except (KeyError, IndexError) as ex:
raise JsonPatchConflict(str(ex))
+ # If source and target are equal, this is a no-op
+ if self.pointer == from_ptr:
+ return obj
+
if isinstance(subobj, MutableMapping) and \
self.pointer.contains(from_ptr):
raise JsonPatchConflict('Cannot move values into its own children')