Class ChangeUtil


  • public class ChangeUtil
    extends Object
    • Field Detail

      • PS_ID_ORDER

        public static final com.google.common.collect.Ordering<PatchSet> PS_ID_ORDER
    • Method Detail

      • messageUuid

        public static String messageUuid()
        Returns a new unique identifier for change message entities.
      • nextPatchSetIdFromChangeRefs

        public static PatchSet.Id nextPatchSetIdFromChangeRefs​(Collection<String> changeRefNames,
                                                               PatchSet.Id id)
        Get the next patch set ID from a previously-read map of refs below the change prefix.
        Parameters:
        changeRefNames - existing full change ref names with the same change ID as id.
        id - previous patch set ID.
        Returns:
        next unused patch set ID for the same change, skipping any IDs whose corresponding ref names appear in the changeRefs map.
      • nextPatchSetId

        public static PatchSet.Id nextPatchSetId​(PatchSet.Id id)
        Get the next patch set ID just looking at a single previous patch set ID.

        This patch set ID may or may not be available in the database.

        Parameters:
        id - previous patch set ID.
        Returns:
        next patch set ID for the same change, incrementing by 1.
      • nextPatchSetId

        public static PatchSet.Id nextPatchSetId​(org.eclipse.jgit.lib.Repository git,
                                                 PatchSet.Id id)
                                          throws IOException
        Get the next patch set ID from scanning refs in the repo.
        Parameters:
        git - repository to scan for patch set refs.
        id - previous patch set ID.
        Returns:
        next unused patch set ID for the same change, skipping any IDs whose corresponding ref names appear in the repository.
        Throws:
        IOException
      • ensureChangeIdIsCorrect

        public static void ensureChangeIdIsCorrect​(boolean requireChangeId,
                                                   String currentChangeId,
                                                   String newCommitMessage,
                                                   UrlFormatter urlFormatter)
                                            throws ResourceConflictException,
                                                   BadRequestException
        Make sure that the change commit message has a correct footer.
        Parameters:
        requireChangeId - true if Change-Id is a mandatory footer for the project
        currentChangeId - current Change-Id value before the commit message is updated
        newCommitMessage - new commit message for the change
        Throws:
        ResourceConflictException - if the new commit message has a missing or invalid Change-Id
        BadRequestException - if the new commit message is null or empty
      • getChangeIdsFromFooter

        public static List<String> getChangeIdsFromFooter​(org.eclipse.jgit.revwalk.RevCommit c,
                                                          UrlFormatter urlFormatter)