|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.eclipse.jgit.merge.Merger
public abstract class Merger
Instance of a specific MergeStrategy for a single Repository.
| Field Summary | |
|---|---|
protected Repository |
db
The repository this merger operates on. |
protected ObjectReader |
reader
Reader to support walk and other object loading. |
protected RevCommit[] |
sourceCommits
If sourceObjects[i] is a commit, this is the commit. |
protected RevObject[] |
sourceObjects
The original objects supplied in the merge; this can be any tree-ish. |
protected RevTree[] |
sourceTrees
The trees matching every entry in sourceObjects. |
protected RevWalk |
walk
A RevWalk for computing merge bases, or listing incoming commits. |
| Constructor Summary | |
|---|---|
protected |
Merger(Repository local)
Create a new merge instance for a repository. |
| Method Summary | |
|---|---|
RevCommit |
getBaseCommit(int aIdx,
int bIdx)
Return the merge base of two commits. |
ObjectInserter |
getObjectInserter()
|
Repository |
getRepository()
|
abstract ObjectId |
getResultTreeId()
|
boolean |
merge(AnyObjectId... tips)
Merge together two or more tree-ish objects. |
protected AbstractTreeIterator |
mergeBase(int aIdx,
int bIdx)
Create an iterator to walk the merge base of two commits. |
protected abstract boolean |
mergeImpl()
Execute the merge. |
protected AbstractTreeIterator |
openTree(AnyObjectId treeId)
Open an iterator over a tree. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected final Repository db
protected final ObjectReader reader
walk and other object loading.
protected final RevWalk walk
protected RevObject[] sourceObjects
protected RevCommit[] sourceCommits
sourceObjects[i] is a commit, this is the commit.
protected RevTree[] sourceTrees
sourceObjects.
| Constructor Detail |
|---|
protected Merger(Repository local)
local - the repository this merger will read and write data on.| Method Detail |
|---|
public Repository getRepository()
public ObjectInserter getObjectInserter()
getRepository().
public boolean merge(AnyObjectId... tips)
throws IOException
Any tree-ish may be supplied as inputs. Commits and/or tags pointing at trees or commits may be passed as input objects.
tips - source trees to be combined together. The merge base is not
included in this set.
IncorrectObjectTypeException - one of the input objects is not a commit, but the strategy
requires it to be a commit.
IOException - one or more sources could not be read, or outputs could not
be written to the Repository.
protected AbstractTreeIterator mergeBase(int aIdx,
int bIdx)
throws IOException
aIdx - index of the first commit in sourceObjects.bIdx - index of the second commit in sourceObjects.
IncorrectObjectTypeException - one of the input objects is not a commit.
IOException - objects are missing or multiple merge bases were found.
public RevCommit getBaseCommit(int aIdx,
int bIdx)
throws IncorrectObjectTypeException,
IOException
aIdx - index of the first commit in sourceObjects.bIdx - index of the second commit in sourceObjects.
IncorrectObjectTypeException - one of the input objects is not a commit.
IOException - objects are missing or multiple merge bases were found.
protected AbstractTreeIterator openTree(AnyObjectId treeId)
throws IncorrectObjectTypeException,
IOException
treeId - the tree to scan; must be a tree (not a treeish).
IncorrectObjectTypeException - the input object is not a tree.
IOException - the tree object is not found or cannot be read.
protected abstract boolean mergeImpl()
throws IOException
This method is called from merge(AnyObjectId[]) after the
sourceObjects, sourceCommits and sourceTrees
have been populated.
IncorrectObjectTypeException - one of the input objects is not a commit, but the strategy
requires it to be a commit.
IOException - one or more sources could not be read, or outputs could not
be written to the Repository.public abstract ObjectId getResultTreeId()
merge(AnyObjectId[]) returned true.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||