Class NotesBranchUtil


  • public class NotesBranchUtil
    extends Object
    A utility class for updating a notes branch with automatic merge of note trees.
    • Constructor Detail

      • NotesBranchUtil

        @Inject
        public NotesBranchUtil​(org.eclipse.jgit.lib.PersonIdent gerritIdent,
                               GitReferenceUpdated gitRefUpdated,
                               Project.NameKey project,
                               org.eclipse.jgit.lib.Repository db,
                               org.eclipse.jgit.lib.ObjectInserter inserter)
    • Method Detail

      • commitAllNotes

        public final void commitAllNotes​(org.eclipse.jgit.notes.NoteMap notes,
                                         String notesBranch,
                                         org.eclipse.jgit.lib.PersonIdent commitAuthor,
                                         String commitMessage)
                                  throws IOException
        Create a new commit in the notesBranch by updating existing or creating new notes from the notes map.

        Does not retry in the case of lock failure; callers may use RetryHelper.

        Parameters:
        notes - map of notes
        notesBranch - notes branch to update
        commitAuthor - author of the commit in the notes branch
        commitMessage - for the commit in the notes branch
        Throws:
        com.google.gerrit.git.LockFailureException - if committing the notes failed due to a lock failure on the notes branch
        IOException - if committing the notes failed for any other reason
      • commitNewNotes

        public final org.eclipse.jgit.notes.NoteMap commitNewNotes​(org.eclipse.jgit.notes.NoteMap notes,
                                                                   String notesBranch,
                                                                   org.eclipse.jgit.lib.PersonIdent commitAuthor,
                                                                   String commitMessage)
                                                            throws IOException
        Create a new commit in the notesBranch by creating not yet existing notes from the notes map. The notes from the notes map which already exist in the note-tree of the tip of the notesBranch will not be updated.

        Does not retry in the case of lock failure; callers may use RetryHelper.

        Parameters:
        notes - map of notes
        notesBranch - notes branch to update
        commitAuthor - author of the commit in the notes branch
        commitMessage - for the commit in the notes branch
        Returns:
        map with those notes from the notes that were newly created
        Throws:
        com.google.gerrit.git.LockFailureException - if committing the notes failed due to a lock failure on the notes branch
        IOException - if committing the notes failed for any other reason