This commit fixes two errors in auto-curate
that are related to change set-creation. The
first error was that a git repository might not
be initialized. The second error was the faulty
calculation of the intra-repository path of
records.
Add tests for post-records that check the
write-interface. Some tests use get-records
to fetch records for validation.
Add the `Document`-class to test schema.
This commit adds fixtures that generate a test
dump-things-server that contains one collection,
i.e., `collection_1`. The collection uses a
`record-dir`-backend and the schema
`pyclient_testschema.yaml`.
This commit unifies the handling of "normal"
curation, change-set-creation and change-set-posting.
inbox inclusion- and exclusion-lists are now
honored in all three operation modes, i.e., in
curating, change-set-creation, and change-set-posting.
The commit also fixes some errors.
The annotations that are removed from incoming records
are now stored in change sets and can therefore be
added when the change set is posted. This keeps the
diff small and content-related, while preserveing the
annotations.
Create a changeset that contains a one-level
hierarchy. The first level is the `label` of the
inbox. Below that level all changes from the
respective inbox are stored in individual files.
The file names are created from the PIDs of the
incoming records by replacing `-` with `--` and
`/` with `-_`.
The double replacements is necessary to prevent
name collisions that could otherwise occur if
the replacement for `/` is part of a PID.