The obomerge utility can merge the changes in two different versions of a file. Three files are needed: an original unchanged version of the file, a version of the file with one set of changes, and a version of the file with another set of changes.
obomerge uses the OBO-Edit history system to merge the changes, so this tool produces accurate results every time, unlike, for example, a text-based merge.
The command usage is:
obomerge \ [-ignore-clash-on-id <value1> -ignore-clash-on-id <value2> ... -ignore-clash-on-id <valueN>] \ [-update-ids-when (NEVER | IF_LIKELY | ALWAYS)] [-fail-on-clash (ALWAYS | IF_LIKELY | NEVER)] \ -original <value> -revision <value1> -revision <value2> -o <value>
The required command line parameters are:
The optional command line parameters are
Note that <original file> MUST be an early version of both <changed file 1> and <changed file 2>. Without a usable original file, obomerge cannot determine what changes were made in each version of the file.
If <changed file 1> and <changed file 2> have no common ancestor, an empty file may be used for <original file>.
Also see Java Options on the Command-line
When two people are working on a file simultaneously and have overlapping id spaces, OBO-Edit may assign the same id to new terms in each person's working copy of the ontology. This is known as an id clash, and it is a serious problem.
obomerge can detect and resolve id clashes. By default, if id clashes are detected obomerge will print a report of detected clashes, then quit.
If -fail-on-clash NEVER or -fail-on-clash IF_LIKELY is specified, obomerge will continue despite id clashes. If -update-ids-when ALWAYS or -update-ids-when IF_LIKELY is specified, obomerge will change one of the clashing ids to resolve the clash.