public class ResolveMerger extends ThreeWayMerger
Modifier and Type | Class and Description |
---|---|
static class |
ResolveMerger.MergeFailureReason
If the merge fails (means: not stopped because of unresolved conflicts)
this enum is used to explain why it failed
|
db, reader, sourceCommits, sourceObjects, sourceTrees, walk
Modifier | Constructor and Description |
---|---|
protected |
ResolveMerger(Repository local) |
protected |
ResolveMerger(Repository local,
boolean inCore) |
Modifier and Type | Method and Description |
---|---|
boolean |
failed()
Returns whether this merge failed (i.e.
|
java.lang.String[] |
getCommitNames() |
java.util.Map<java.lang.String,ResolveMerger.MergeFailureReason> |
getFailingPaths() |
java.util.Map<java.lang.String,MergeResult<? extends Sequence>> |
getMergeResults() |
java.util.List<java.lang.String> |
getModifiedFiles() |
ObjectId |
getResultTreeId() |
java.util.Map<java.lang.String,DirCacheEntry> |
getToBeCheckedOut() |
java.util.List<java.lang.String> |
getUnmergedPaths() |
protected boolean |
mergeImpl()
Execute the merge.
|
void |
setCommitNames(java.lang.String[] commitNames) |
void |
setDirCache(DirCache dc)
Sets the DirCache which shall be used by this merger.
|
void |
setWorkingTreeIterator(WorkingTreeIterator workingTreeIterator)
Sets the WorkingTreeIterator to be used by this merger.
|
merge, mergeBase, setBase
getBaseCommit, getObjectInserter, getRepository, mergeBase, openTree
protected ResolveMerger(Repository local, boolean inCore)
local
- inCore
- protected ResolveMerger(Repository local)
local
- protected boolean mergeImpl() throws java.io.IOException
Merger
This method is called from Merger.merge(AnyObjectId[])
after the
Merger.sourceObjects
, Merger.sourceCommits
and Merger.sourceTrees
have been populated.
mergeImpl
in class Merger
IncorrectObjectTypeException
- one of the input objects is not a commit, but the strategy
requires it to be a commit.java.io.IOException
- one or more sources could not be read, or outputs could not
be written to the Repository.public ObjectId getResultTreeId()
getResultTreeId
in class Merger
Merger.merge(AnyObjectId[])
returned true.public void setCommitNames(java.lang.String[] commitNames)
commitNames
- the names of the commits as they would appear in conflict
markerspublic java.lang.String[] getCommitNames()
public java.util.List<java.lang.String> getUnmergedPaths()
getModifiedFiles()
public java.util.List<java.lang.String> getModifiedFiles()
getUnmergedPaths()
.public java.util.Map<java.lang.String,DirCacheEntry> getToBeCheckedOut()
public java.util.Map<java.lang.String,MergeResult<? extends Sequence>> getMergeResults()
public java.util.Map<java.lang.String,ResolveMerger.MergeFailureReason> getFailingPaths()
null
is returned if this merge didn't
fail.public boolean failed()
true
if a failure occurred, false
otherwisepublic void setDirCache(DirCache dc)
DirCache.commit()
which requires that the DirCache is locked. If
the mergeImpl()
returns without throwing an exception the lock
will be released. In case of exceptions the caller is responsible to
release the lock.dc
- the DirCache to setpublic void setWorkingTreeIterator(WorkingTreeIterator workingTreeIterator)
TODO: enhance WorkingTreeIterator to support write operations. Then this merger will be able to merge with a different working tree abstraction.
workingTreeIterator
- the workingTreeIt to setCopyright © 2012. All Rights Reserved.