Package org.eclipse.jgit.notes

## Interface NoteMerger

All Known Implementing Classes:
  `DefaultNoteMerger`

    public interface NoteMerger

Three-way note merge operation.

This operation takes three versions of a note: base, ours and theirs, performs the three-way merge and returns the merge result.

### Method Summary

All Methods Instance Methods Abstract Methods
`Note` `merge​(Note base, Note ours, Note their, ObjectReader reader, ObjectInserter inserter)` Merges the conflicting note changes.

### Method Detail

#### merge

    Note merge​(Note base,
               Note ours,
               Note their,
               ObjectReader reader,
               ObjectInserter inserter)
        throws NotesMergeConflictException,
               IOException

Merges the conflicting note changes.

base, ours and their are all notes on the same object.

Parameters:
  `base` - version of the Note
  `ours` - version of the Note
  `their` - version of the Note
  `reader` - the object reader that must be used to read Git objects
  `inserter` - the object inserter that must be used to insert Git objects
Returns:
  the merge result
Throws:
  `NotesMergeConflictException` - in case there was a merge conflict which this note merger couldn't resolve
  `IOException` - in case the reader or the inserter would throw an IOException the implementor will most likely want to propagate it as it can't do much to recover from it