Part of https://gitlab.indiscale.com/caosdb/customers/leibniz-zmt/management/-/issues/125. Adds a new apiutils.empty_diff
function to check for the identity of two Entity objects in the sense of no differences between the two entities. It also adds optional arguments to compare_entities
and merge_entities
to determine whether or not referenced Entity objects will be compared/merged.
Mainly, new cases to the value comparison of reference properties have been added to the compare_entities
function. Note that the compare_referenced_records
argument of the compare_entities
function defaults False
in order to restore the previous behavior. In contrast, the default of merge_references_with_empty_diffs
of merge_entities
is True
because a) the function is Experimental anyway, so breaking previous behavior is ok, and b) in most of the (e.g., crawler) cases this is probably what a merge is expected to do.
Unit tests should be sufficient; but you can also test it with ZMT's Pangaea crawler.
Please, prepare your MR for a review. Be sure to write a summary and a focus and create gitlab comments for the reviewer. They should guide the reviewer through the changes, explain your changes and also point out open questions. For further good practices have a look at our review guidelines
For further good practices have a look at our review guidelines.