public class MergeUtil
extends java.lang.Object
Note: Unless otherwise specified, the methods in this class
do not flush ObjectInserters. Callers that want to
read back objects before flushing should use ObjectInserter.newReader(). This is already the default behavior of BatchUpdate.
| Modifier and Type | Class and Description |
|---|---|
static interface |
MergeUtil.Factory |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canCherryPick(MergeSorter mergeSorter,
org.eclipse.jgit.lib.Repository repo,
CodeReviewCommit mergeTip,
CodeReviewCommit.CodeReviewRevWalk rw,
CodeReviewCommit toMerge) |
boolean |
canFastForward(MergeSorter mergeSorter,
CodeReviewCommit mergeTip,
CodeReviewCommit.CodeReviewRevWalk rw,
CodeReviewCommit toMerge) |
boolean |
canMerge(MergeSorter mergeSorter,
org.eclipse.jgit.lib.Repository repo,
CodeReviewCommit mergeTip,
CodeReviewCommit toMerge) |
java.lang.String |
createCherryPickCommitMessage(CodeReviewCommit n) |
java.lang.String |
createCherryPickCommitMessage(org.eclipse.jgit.revwalk.RevCommit n,
ChangeControl ctl,
com.google.gerrit.reviewdb.client.PatchSet.Id psId) |
CodeReviewCommit |
createCherryPickFromCommit(org.eclipse.jgit.lib.Repository repo,
org.eclipse.jgit.lib.ObjectInserter inserter,
org.eclipse.jgit.revwalk.RevCommit mergeTip,
org.eclipse.jgit.revwalk.RevCommit originalCommit,
org.eclipse.jgit.lib.PersonIdent cherryPickCommitterIdent,
java.lang.String commitMsg,
CodeReviewCommit.CodeReviewRevWalk rw) |
static java.lang.String |
createConflictMessage(java.util.List<java.lang.String> conflicts) |
static org.eclipse.jgit.revwalk.RevCommit |
createMergeCommit(org.eclipse.jgit.lib.Repository repo,
org.eclipse.jgit.lib.ObjectInserter inserter,
org.eclipse.jgit.revwalk.RevCommit mergeTip,
org.eclipse.jgit.revwalk.RevCommit originalCommit,
java.lang.String mergeStrategy,
org.eclipse.jgit.lib.PersonIdent committerIndent,
java.lang.String commitMsg,
org.eclipse.jgit.revwalk.RevWalk rw) |
static CodeReviewCommit |
findAnyMergedInto(CodeReviewCommit.CodeReviewRevWalk rw,
java.lang.Iterable<CodeReviewCommit> commits,
CodeReviewCommit tip) |
java.util.Set<com.google.gerrit.reviewdb.client.Change.Id> |
findUnmergedChanges(java.util.Set<com.google.gerrit.reviewdb.client.Change.Id> expected,
CodeReviewCommit.CodeReviewRevWalk rw,
org.eclipse.jgit.revwalk.RevFlag canMergeFlag,
CodeReviewCommit oldTip,
CodeReviewCommit mergeTip,
java.lang.Iterable<com.google.gerrit.reviewdb.client.Change.Id> alreadyMerged) |
CodeReviewCommit |
getFirstFastForward(CodeReviewCommit mergeTip,
org.eclipse.jgit.revwalk.RevWalk rw,
java.util.List<CodeReviewCommit> toMerge) |
static org.eclipse.jgit.merge.ThreeWayMergeStrategy |
getMergeStrategy(org.eclipse.jgit.lib.Config cfg) |
boolean |
hasMissingDependencies(MergeSorter mergeSorter,
CodeReviewCommit toMerge) |
void |
markCleanMerges(org.eclipse.jgit.revwalk.RevWalk rw,
org.eclipse.jgit.revwalk.RevFlag canMergeFlag,
CodeReviewCommit mergeTip,
java.util.Set<org.eclipse.jgit.revwalk.RevCommit> alreadyAccepted) |
CodeReviewCommit |
mergeOneCommit(org.eclipse.jgit.lib.PersonIdent author,
org.eclipse.jgit.lib.PersonIdent committer,
org.eclipse.jgit.lib.Repository repo,
CodeReviewCommit.CodeReviewRevWalk rw,
org.eclipse.jgit.lib.ObjectInserter inserter,
com.google.gerrit.reviewdb.client.Branch.NameKey destBranch,
CodeReviewCommit mergeTip,
CodeReviewCommit n) |
java.lang.String |
mergeStrategyName() |
static java.lang.String |
mergeStrategyName(boolean useContentMerge,
boolean useRecursiveMerge) |
static org.eclipse.jgit.merge.Merger |
newMerger(org.eclipse.jgit.lib.Repository repo,
org.eclipse.jgit.lib.ObjectInserter inserter,
java.lang.String strategyName) |
org.eclipse.jgit.merge.ThreeWayMerger |
newThreeWayMerger(org.eclipse.jgit.lib.Repository repo,
org.eclipse.jgit.lib.ObjectInserter inserter) |
static org.eclipse.jgit.merge.ThreeWayMerger |
newThreeWayMerger(org.eclipse.jgit.lib.Repository repo,
org.eclipse.jgit.lib.ObjectInserter inserter,
java.lang.String strategyName) |
java.util.List<CodeReviewCommit> |
reduceToMinimalMerge(MergeSorter mergeSorter,
java.util.Collection<CodeReviewCommit> toSort) |
static org.eclipse.jgit.revwalk.RevCommit |
resolveCommit(org.eclipse.jgit.lib.Repository repo,
org.eclipse.jgit.revwalk.RevWalk rw,
java.lang.String str) |
static boolean |
useRecursiveMerge(org.eclipse.jgit.lib.Config cfg) |
CodeReviewCommit |
writeMergeCommit(org.eclipse.jgit.lib.PersonIdent author,
org.eclipse.jgit.lib.PersonIdent committer,
CodeReviewCommit.CodeReviewRevWalk rw,
org.eclipse.jgit.lib.ObjectInserter inserter,
com.google.gerrit.reviewdb.client.Branch.NameKey destBranch,
CodeReviewCommit mergeTip,
org.eclipse.jgit.lib.ObjectId treeId,
CodeReviewCommit n) |
public static boolean useRecursiveMerge(org.eclipse.jgit.lib.Config cfg)
public static org.eclipse.jgit.merge.ThreeWayMergeStrategy getMergeStrategy(org.eclipse.jgit.lib.Config cfg)
public CodeReviewCommit getFirstFastForward(CodeReviewCommit mergeTip, org.eclipse.jgit.revwalk.RevWalk rw, java.util.List<CodeReviewCommit> toMerge) throws IntegrationException
IntegrationExceptionpublic java.util.List<CodeReviewCommit> reduceToMinimalMerge(MergeSorter mergeSorter, java.util.Collection<CodeReviewCommit> toSort) throws IntegrationException
IntegrationExceptionpublic CodeReviewCommit createCherryPickFromCommit(org.eclipse.jgit.lib.Repository repo, org.eclipse.jgit.lib.ObjectInserter inserter, org.eclipse.jgit.revwalk.RevCommit mergeTip, org.eclipse.jgit.revwalk.RevCommit originalCommit, org.eclipse.jgit.lib.PersonIdent cherryPickCommitterIdent, java.lang.String commitMsg, CodeReviewCommit.CodeReviewRevWalk rw) throws org.eclipse.jgit.errors.MissingObjectException, org.eclipse.jgit.errors.IncorrectObjectTypeException, java.io.IOException, MergeIdenticalTreeException, com.google.gerrit.extensions.restapi.MergeConflictException
org.eclipse.jgit.errors.MissingObjectExceptionorg.eclipse.jgit.errors.IncorrectObjectTypeExceptionjava.io.IOExceptionMergeIdenticalTreeExceptioncom.google.gerrit.extensions.restapi.MergeConflictExceptionpublic static org.eclipse.jgit.revwalk.RevCommit createMergeCommit(org.eclipse.jgit.lib.Repository repo,
org.eclipse.jgit.lib.ObjectInserter inserter,
org.eclipse.jgit.revwalk.RevCommit mergeTip,
org.eclipse.jgit.revwalk.RevCommit originalCommit,
java.lang.String mergeStrategy,
org.eclipse.jgit.lib.PersonIdent committerIndent,
java.lang.String commitMsg,
org.eclipse.jgit.revwalk.RevWalk rw)
throws java.io.IOException,
MergeIdenticalTreeException,
com.google.gerrit.extensions.restapi.MergeConflictException
java.io.IOExceptionMergeIdenticalTreeExceptioncom.google.gerrit.extensions.restapi.MergeConflictExceptionpublic static java.lang.String createConflictMessage(java.util.List<java.lang.String> conflicts)
public java.lang.String createCherryPickCommitMessage(org.eclipse.jgit.revwalk.RevCommit n,
ChangeControl ctl,
com.google.gerrit.reviewdb.client.PatchSet.Id psId)
public java.lang.String createCherryPickCommitMessage(CodeReviewCommit n)
public boolean canMerge(MergeSorter mergeSorter, org.eclipse.jgit.lib.Repository repo, CodeReviewCommit mergeTip, CodeReviewCommit toMerge) throws IntegrationException
IntegrationExceptionpublic boolean canFastForward(MergeSorter mergeSorter, CodeReviewCommit mergeTip, CodeReviewCommit.CodeReviewRevWalk rw, CodeReviewCommit toMerge) throws IntegrationException
IntegrationExceptionpublic boolean canCherryPick(MergeSorter mergeSorter, org.eclipse.jgit.lib.Repository repo, CodeReviewCommit mergeTip, CodeReviewCommit.CodeReviewRevWalk rw, CodeReviewCommit toMerge) throws IntegrationException
IntegrationExceptionpublic boolean hasMissingDependencies(MergeSorter mergeSorter, CodeReviewCommit toMerge) throws IntegrationException
IntegrationExceptionpublic CodeReviewCommit mergeOneCommit(org.eclipse.jgit.lib.PersonIdent author, org.eclipse.jgit.lib.PersonIdent committer, org.eclipse.jgit.lib.Repository repo, CodeReviewCommit.CodeReviewRevWalk rw, org.eclipse.jgit.lib.ObjectInserter inserter, com.google.gerrit.reviewdb.client.Branch.NameKey destBranch, CodeReviewCommit mergeTip, CodeReviewCommit n) throws IntegrationException
IntegrationExceptionpublic CodeReviewCommit writeMergeCommit(org.eclipse.jgit.lib.PersonIdent author, org.eclipse.jgit.lib.PersonIdent committer, CodeReviewCommit.CodeReviewRevWalk rw, org.eclipse.jgit.lib.ObjectInserter inserter, com.google.gerrit.reviewdb.client.Branch.NameKey destBranch, CodeReviewCommit mergeTip, org.eclipse.jgit.lib.ObjectId treeId, CodeReviewCommit n) throws java.io.IOException, org.eclipse.jgit.errors.MissingObjectException, org.eclipse.jgit.errors.IncorrectObjectTypeException
java.io.IOExceptionorg.eclipse.jgit.errors.MissingObjectExceptionorg.eclipse.jgit.errors.IncorrectObjectTypeExceptionpublic org.eclipse.jgit.merge.ThreeWayMerger newThreeWayMerger(org.eclipse.jgit.lib.Repository repo,
org.eclipse.jgit.lib.ObjectInserter inserter)
public java.lang.String mergeStrategyName()
public static java.lang.String mergeStrategyName(boolean useContentMerge,
boolean useRecursiveMerge)
public static org.eclipse.jgit.merge.ThreeWayMerger newThreeWayMerger(org.eclipse.jgit.lib.Repository repo,
org.eclipse.jgit.lib.ObjectInserter inserter,
java.lang.String strategyName)
public static org.eclipse.jgit.merge.Merger newMerger(org.eclipse.jgit.lib.Repository repo,
org.eclipse.jgit.lib.ObjectInserter inserter,
java.lang.String strategyName)
public void markCleanMerges(org.eclipse.jgit.revwalk.RevWalk rw,
org.eclipse.jgit.revwalk.RevFlag canMergeFlag,
CodeReviewCommit mergeTip,
java.util.Set<org.eclipse.jgit.revwalk.RevCommit> alreadyAccepted)
throws IntegrationException
IntegrationExceptionpublic java.util.Set<com.google.gerrit.reviewdb.client.Change.Id> findUnmergedChanges(java.util.Set<com.google.gerrit.reviewdb.client.Change.Id> expected,
CodeReviewCommit.CodeReviewRevWalk rw,
org.eclipse.jgit.revwalk.RevFlag canMergeFlag,
CodeReviewCommit oldTip,
CodeReviewCommit mergeTip,
java.lang.Iterable<com.google.gerrit.reviewdb.client.Change.Id> alreadyMerged)
throws IntegrationException
IntegrationExceptionpublic static CodeReviewCommit findAnyMergedInto(CodeReviewCommit.CodeReviewRevWalk rw, java.lang.Iterable<CodeReviewCommit> commits, CodeReviewCommit tip) throws java.io.IOException
java.io.IOExceptionpublic static org.eclipse.jgit.revwalk.RevCommit resolveCommit(org.eclipse.jgit.lib.Repository repo,
org.eclipse.jgit.revwalk.RevWalk rw,
java.lang.String str)
throws com.google.gerrit.extensions.restapi.BadRequestException,
com.google.gerrit.extensions.restapi.ResourceNotFoundException,
java.io.IOException
com.google.gerrit.extensions.restapi.BadRequestExceptioncom.google.gerrit.extensions.restapi.ResourceNotFoundExceptionjava.io.IOException