Package org.eclipse.jgit.api
Class CherryPickCommand
- java.lang.Object
-
- org.eclipse.jgit.api.GitCommand<CherryPickResult>
-
- org.eclipse.jgit.api.CherryPickCommand
-
- All Implemented Interfaces:
Callable<CherryPickResult>
public class CherryPickCommand extends GitCommand<CherryPickResult>
A class used to execute acherry-pick
command. It has setters for all supported options and arguments of this command and acall()
method to finally execute the command. Each instance of this class should only be used for one invocation of the command (means: one call tocall()
)- See Also:
- Git documentation about cherry-pick
-
-
Field Summary
-
Fields inherited from class org.eclipse.jgit.api.GitCommand
repo
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
CherryPickCommand(Repository repo)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CherryPickResult
call()
Executes theCherry-Pick
command with all the options and parameters collected by the setter methods (e.g.CherryPickCommand
include(String name, AnyObjectId commit)
CherryPickCommand
include(AnyObjectId commit)
CherryPickCommand
include(Ref commit)
CherryPickCommand
setMainlineParentNumber(int mainlineParentNumber)
CherryPickCommand
setNoCommit(boolean noCommit)
Allows cherry-picking changes without committing them.CherryPickCommand
setOurCommitName(String ourCommitName)
CherryPickCommand
setReflogPrefix(String prefix)
Set the prefix to use in the reflog.CherryPickCommand
setStrategy(MergeStrategy strategy)
-
Methods inherited from class org.eclipse.jgit.api.GitCommand
checkCallable, getRepository, setCallable
-
-
-
-
Constructor Detail
-
CherryPickCommand
protected CherryPickCommand(Repository repo)
- Parameters:
repo
-
-
-
Method Detail
-
call
public CherryPickResult call() throws GitAPIException, NoMessageException, UnmergedPathsException, ConcurrentRefUpdateException, WrongRepositoryStateException, NoHeadException
Executes theCherry-Pick
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.- Specified by:
call
in interfaceCallable<CherryPickResult>
- Specified by:
call
in classGitCommand<CherryPickResult>
- Returns:
- the result of the cherry-pick
- Throws:
GitAPIException
WrongRepositoryStateException
ConcurrentRefUpdateException
UnmergedPathsException
NoMessageException
NoHeadException
-
include
public CherryPickCommand include(Ref commit)
- Parameters:
commit
- a reference to a commit which is cherry-picked to the current head- Returns:
this
-
include
public CherryPickCommand include(AnyObjectId commit)
- Parameters:
commit
- the Id of a commit which is cherry-picked to the current head- Returns:
this
-
include
public CherryPickCommand include(String name, AnyObjectId commit)
- Parameters:
name
- a name given to the commitcommit
- the Id of a commit which is cherry-picked to the current head- Returns:
this
-
setOurCommitName
public CherryPickCommand setOurCommitName(String ourCommitName)
- Parameters:
ourCommitName
- the name that should be used in the "OURS" place for conflict markers- Returns:
this
-
setReflogPrefix
public CherryPickCommand setReflogPrefix(String prefix)
Set the prefix to use in the reflog.This is primarily needed for implementing rebase in terms of cherry-picking
- Parameters:
prefix
- including ":"- Returns:
this
- Since:
- 3.1
-
setStrategy
public CherryPickCommand setStrategy(MergeStrategy strategy)
- Parameters:
strategy
- The merge strategy to use during this Cherry-pick.- Returns:
this
- Since:
- 3.4
-
setMainlineParentNumber
public CherryPickCommand setMainlineParentNumber(int mainlineParentNumber)
- Parameters:
mainlineParentNumber
- the (1-based) parent number to diff against. This allows cherry-picking of merges.- Returns:
this
- Since:
- 3.4
-
setNoCommit
public CherryPickCommand setNoCommit(boolean noCommit)
Allows cherry-picking changes without committing them.NOTE: The behavior of cherry-pick is undefined if you pick multiple commits or if HEAD does not match the index state before cherry-picking.
- Parameters:
noCommit
- true to cherry-pick without committing, false to commit after each pick (default)- Returns:
this
- Since:
- 3.5
-
-