private static class StrategySimpleTwoWayInCore.InCoreMerger extends ThreeWayMerger
Modifier and Type | Field and Description |
---|---|
private DirCacheBuilder |
builder |
private DirCache |
cache |
private ObjectId |
resultTree |
private static int |
T_BASE |
private static int |
T_OURS |
private static int |
T_THEIRS |
private NameConflictTreeWalk |
tw |
db, monitor, reader, sourceCommits, sourceObjects, sourceTrees, walk
Constructor and Description |
---|
InCoreMerger(ObjectInserter inserter) |
InCoreMerger(Repository local) |
Modifier and Type | Method and Description |
---|---|
private void |
add(int tree,
int stage) |
ObjectId |
getResultTreeId()
Get resulting tree.
|
private AbstractTreeIterator |
getTree(int tree) |
protected boolean |
mergeImpl()
Execute the merge.
|
private static boolean |
nonTree(int mode) |
getBaseCommitId, merge, mergeBase, setBase
getBaseCommit, getObjectInserter, getRepository, merge, nonNullRepo, openTree, setObjectInserter, setProgressMonitor
private static final int T_BASE
private static final int T_OURS
private static final int T_THEIRS
private final NameConflictTreeWalk tw
private final DirCache cache
private DirCacheBuilder builder
private ObjectId resultTree
InCoreMerger(Repository local)
InCoreMerger(ObjectInserter inserter)
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.private static boolean nonTree(int mode)
private void add(int tree, int stage) throws java.io.IOException
java.io.IOException
private AbstractTreeIterator getTree(int tree)
public ObjectId getResultTreeId()
Merger
getResultTreeId
in class Merger
Merger.merge(AnyObjectId[])
returned true.