/** * Constructs a NoteMapMerger with * {@link org.eclipse.jgit.notes.DefaultNoteMerger} as the merger for notes * and the {@link org.eclipse.jgit.merge.MergeStrategy#RESOLVE} as the * strategy for resolving conflicts on non-notes * * @param db * Git repository */ public NoteMapMerger(Repository db) { this(db, new DefaultNoteMerger(), MergeStrategy.RESOLVE); }
/** * Constructs a NoteMapMerger with * {@link org.eclipse.jgit.notes.DefaultNoteMerger} as the merger for notes * and the {@link org.eclipse.jgit.merge.MergeStrategy#RESOLVE} as the * strategy for resolving conflicts on non-notes * * @param db * Git repository */ public NoteMapMerger(Repository db) { this(db, new DefaultNoteMerger(), MergeStrategy.RESOLVE); }
/** * Constructs a NoteMapMerger with {@link DefaultNoteMerger} as the merger * for notes and the {@link MergeStrategy#RESOLVE} as the strategy for * resolving conflicts on non-notes * * @param db * Git repository */ public NoteMapMerger(Repository db) { this(db, new DefaultNoteMerger(), MergeStrategy.RESOLVE); }
private void add(T noteRecord) throws MissingObjectException, IncorrectObjectTypeException, IOException, RuntimeException { ObjectId noteContent = createNoteContent(noteRecord); if (ours.contains(reviewCommit)) { // merge the existing and the new note as if they are both new // means: base == null // there is not really a common ancestry for these two note revisions // use the same NoteMerger that is used from the NoteMapMerger NoteMerger noteMerger = new DefaultNoteMerger(); Note newNote = new Note(reviewCommit, noteContent); noteContent = noteMerger.merge(null, newNote, ours.getNote(reviewCommit), reader, inserter).getData(); } ours.set(reviewCommit, noteContent); }
new NoteMapMerger(repo, new DefaultNoteMerger(), MergeStrategy.RESOLVE); NoteMap merged = merger.merge(baseNoteMap, ourNoteMap, theirNoteMap); try (ObjectInserter inserter = repo.newObjectInserter()) {