If starting crystal-facet-uml from command line, there are a couple of options, call crystal-facet-uml -h for a list.
To run consistency checks, use the -t option:
crystal-facet-uml -t my_database_file.cfu1 || echo "ERROR $?"
To repair the database, use the -r option.
The json-based data file can be stored in a version control system (vcs) like svn or git.
Do not synchronize the file with your vcs while you modify it at the same time; save your changes first, close the application and re-open the json file afterwards.
In case of merge conflicts in the json-based data files, note that uuid strings do uniquely identify all json objects. Relations between objects are defined by these uuid strings. In contrast to uuids, integer-id can be changed as long as they are unique among all objects of same type within the file. Also the names of classifiers (nodes) must be unique.
To see the changes between versions of the json file, consider to use the following option: git diff --patience The result may better explain the changes.
Note that these merge and diff features require at least version 1.39.0 to work smoothly.