obomerge

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

ID Clashes and Automatic ID Updates

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.