public class MergeCommand extends GitCommand<MergeResult>
Merge command. It has setters for all
supported options and arguments of this command and a call() method
to finally execute the command. Each instance of this class should only be
used for one invocation of the command (means: one call to call())| Modifier and Type | Class and Description |
|---|---|
static class |
MergeCommand.FastForwardMode
The modes available for fast forward merges corresponding to the
--ff, --no-ff and --ff-only
options under branch.<name>.mergeoptions. |
repo| Modifier | Constructor and Description |
|---|---|
protected |
MergeCommand(Repository repo) |
| Modifier and Type | Method and Description |
|---|---|
MergeResult |
call()
Executes the
Merge command with all the options and parameters
collected by the setter methods (e.g. |
MergeCommand |
include(AnyObjectId aCommit) |
MergeCommand |
include(Ref aCommit) |
MergeCommand |
include(String name,
AnyObjectId aCommit) |
MergeCommand |
setCommit(boolean commit)
Controls whether the merge command should automatically commit after a
successful merge
|
MergeCommand |
setFastForward(MergeCommand.FastForwardMode fastForwardMode)
Sets the fast forward mode.
|
MergeCommand |
setMessage(String message)
Set the commit message to be used for the merge commit (in case one is
created)
|
MergeCommand |
setSquash(boolean squash)
If
true, will prepare the next commit in working tree and
index as if a real merge happened, but do not make the commit or move the
HEAD. |
MergeCommand |
setStrategy(MergeStrategy mergeStrategy) |
checkCallable, getRepository, setCallableprotected MergeCommand(Repository repo)
repo - public MergeResult call() throws GitAPIException, NoHeadException, ConcurrentRefUpdateException, CheckoutConflictException, InvalidMergeHeadsException, WrongRepositoryStateException, NoMessageException
Merge command with all the options and parameters
collected by the setter methods (e.g. include(Ref)) of this
class. Each instance of this class should only be used for one invocation
of the command. Don't call this method twice on an instance.call in interface Callable<MergeResult>call in class GitCommand<MergeResult>GitAPIException - or subclass thereof when an error occursNoHeadExceptionConcurrentRefUpdateExceptionCheckoutConflictExceptionInvalidMergeHeadsExceptionWrongRepositoryStateExceptionNoMessageExceptionpublic MergeCommand setStrategy(MergeStrategy mergeStrategy)
mergeStrategy - the MergeStrategy to be usedthispublic MergeCommand include(Ref aCommit)
aCommit - a reference to a commit which is merged with the current headthispublic MergeCommand include(AnyObjectId aCommit)
aCommit - the Id of a commit which is merged with the current headthispublic MergeCommand include(String name, AnyObjectId aCommit)
name - a name given to the commitaCommit - the Id of a commit which is merged with the current headthispublic MergeCommand setSquash(boolean squash)
true, will prepare the next commit in working tree and
index as if a real merge happened, but do not make the commit or move the
HEAD. Otherwise, perform the merge and commit the result.
In case the merge was successful but this flag was set to
true a MergeResult with status
MergeResult.MergeStatus.MERGED_SQUASHED or
MergeResult.MergeStatus.FAST_FORWARD_SQUASHED is returned.
squash - whether to squash commits or notthispublic MergeCommand setFastForward(MergeCommand.FastForwardMode fastForwardMode)
fastForwardMode - corresponds to the --ff/--no-ff/--ff-only options. --ff is the
default option.thispublic MergeCommand setCommit(boolean commit)
commit - true if this command should commit (this is the
default behavior). false if this command should
not commit. In case the merge was successful but this flag was
set to false a MergeResult with type
MergeResult with status
MergeResult.MergeStatus.MERGED_NOT_COMMITTED is returnedthispublic MergeCommand setMessage(String message)
message - the message to be used for the merge committhisCopyright © 2014. All rights reserved.