in kinto-remote-settings/src/kinto_remote_settings/signer/utils.py [0:0]
def records_diff(left, right):
left_by_id = {r["id"]: r for r in left}
results = []
for r in right:
rid = r["id"]
left_record = left_by_id.pop(rid, None)
if left_record is None:
# In right, but not in left (deleted!)
results.append({**r, "deleted": True})
elif not records_equal(left_record, r):
# Differ between left and right
results.append(left_record)
# In left, but not in right.
results.extend(left_by_id.values())
return results