This fixes issue 1971 and allows partial non-append imports of a backend:
- When using import with backend IDs, the entire backend is only cleaned if the new clearBackend option is true or if the backend only contains
one base DN.
- If a backend's base DN is one of the include branch DNs, only that base DN will be cleared.
- If the include branch DN is below one of the backend's base DNs, a temporary entry container will be created for the same backend base DN. All
entries not in the include branch will be migrated to the temporary entry container. The entries from LDIF will then be imported. Lastly, All
entries in the exclude branches will be migrated. The original entry container is then deleted and the temporary entry container renamed.
- When using include branches, they all must be under one backend ID. If an exclude branch become orphaned by the LDIF import, the migrated
entries will be rejected due to non parent.
- The LDIFImport tool is updated to reflect the new behaviors and options.
- The import task is updated to reflect the new behaviors. The options are checked when the task is initialized instead at run time to catch
errors are soon as possible.