This is reproducible on IDM 6.0.x, but not on IDM 6.5.0.
1. IDM 6.0.0 with DS 6.0.0 repository (embedded), with explicit mappings.
2. Create a managed user with a givenName of "my-givenname".
3. Do a PATCH replace to change the managed user's givenName to "my-givenName":
=> This completes successfully, but the resulting givenName is not actually updated. It is still "my-givenname". (problem)
4. Repeat the test with IDM 6.5.0 with DS repository (embedded), with explicit mappings.
=> The PATCH replace results in givenName being updated to "my-givenName". (good)
5. Repeat the test with IDM 6.0.0 with DS 6.5.0 repository (external), with explicit mappings.
=> The PATCH replace results in givenName not being updated. (problem)
6. Updating DS 6.0.0 directly using ldapmodify or rest2ldap PATCH replace (DS REST, not IDM):
=> givenName is updated as expected.
7. Back to the original test with IDM 6.0.0 with embedded DS 6.0.0 repo:
- if the DS schema is modified for the givenName attribute, giving it a case-sensitive matching rule ("EQUALITY caseExactMatch").
=> Now the PATCH replace works, givenName is updated.
BUT this change means that queries on givenName will also be case-sensitive.