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.
To merge two model files, use the -i option.
crystal-facet-uml -i my_database_file_1.cfu1 add my_database_file_2.cfu1"
To export a model, use the -e option.
crystal-facet-uml -e my_database_file.cfu1 html output_directory"
The json-based data file can be stored in a version control system (vcs) like svn or git.
Close the crystal-facet-uml application before synchronizing a file with your vcs. Do not synchronize the file with your vcs while you modify it at the same time.
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 patience option: git diff --patience The result may better explain the changes.