You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add XMP standard-namespace policy and transfer gate
Introduce XmpExistingStandardNamespacePolicy to control how existing standard portable XMP properties are reconciled (PreserveAll vs CanonicalizeManaged). Thread the new policy through XMP dumping and metadata transfer codepaths, Python bindings, CLI options, and the public C++/Python API. Implement logic to identify managed standard portable properties and optionally canonicalize (drop) them so EXIF/IPTC projections can be used instead. Add unit tests covering canonicalization behavior and update many Python/C++ wrappers to accept the new option. Also add a named transfer release gate (CMake target and tests/transfer_release_gate.cmake) to run core transfer-focused tests and optional Python smoke tests, update docs to describe the gate, and add a project logo image.
ap.add_argument("--xmp-existing-standard-namespace-policy", choices=["preserve_all", "canonicalize_managed"], default="preserve_all", help="reconcile existing managed standard portable XMP properties against canonical EXIF/IPTC mappings")
339
344
ap.add_argument("--xmp-include-existing-sidecar", action="store_true", help="include an existing sibling .xmp sidecar from the output/edit target path in generated transfer XMP")
340
345
ap.add_argument("--xmp-existing-sidecar-precedence", choices=["sidecar_wins", "source_wins"], default="sidecar_wins", help="conflict precedence between an existing output-side .xmp and source-embedded existing XMP")
341
346
ap.add_argument("--xmp-include-existing-destination-embedded", action="store_true", help="include existing embedded XMP from the edit target in generated transfer XMP")
0 commit comments