org.eclipse.jgit.api
Class RebaseCommand

java.lang.Object
  extended by org.eclipse.jgit.api.GitCommand<RebaseResult>
      extended by org.eclipse.jgit.api.RebaseCommand
All Implemented Interfaces:
Callable<RebaseResult>

public class RebaseCommand
extends GitCommand<RebaseResult>

A class used to execute a Rebase 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())

See Also:
Git documentation about Rebase

Nested Class Summary
static class RebaseCommand.Action
          Describes rebase actions
static interface RebaseCommand.InteractiveHandler
          Allows configure rebase interactive process and modify commit message
static class RebaseCommand.Operation
          The available operations
static class RebaseCommand.Step
          Describes single rebase step
 
Field Summary
static String REBASE_MERGE
          The name of the "rebase-merge" folder
static String STOPPED_SHA
          The name of the "stopped-sha" file
 
Fields inherited from class org.eclipse.jgit.api.GitCommand
repo
 
Constructor Summary
protected RebaseCommand(Repository repo)
           
 
Method Summary
 RebaseResult call()
          Executes the Rebase command with all the options and parameters collected by the setter methods of this class.
 RebaseCommand runInteractively(RebaseCommand.InteractiveHandler handler)
          Enables interactive rebase
 RebaseCommand setOperation(RebaseCommand.Operation operation)
           
 RebaseCommand setProgressMonitor(ProgressMonitor monitor)
           
 RebaseCommand setUpstream(AnyObjectId upstream)
           
 RebaseCommand setUpstream(RevCommit upstream)
           
 RebaseCommand setUpstream(String upstream)
           
 RebaseCommand setUpstreamName(String upstreamName)
          Optionally override the name of the upstream.
 RevCommit tryFastForward(RevCommit newCommit)
          checks if we can fast-forward and returns the new head if it is possible
 
Methods inherited from class org.eclipse.jgit.api.GitCommand
checkCallable, getRepository, setCallable
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

REBASE_MERGE

public static final String REBASE_MERGE
The name of the "rebase-merge" folder

See Also:
Constant Field Values

STOPPED_SHA

public static final String STOPPED_SHA
The name of the "stopped-sha" file

See Also:
Constant Field Values
Constructor Detail

RebaseCommand

protected RebaseCommand(Repository repo)
Parameters:
repo -
Method Detail

call

public RebaseResult call()
                  throws GitAPIException,
                         NoHeadException,
                         RefNotFoundException,
                         WrongRepositoryStateException
Executes the Rebase command with all the options and parameters collected by the setter methods 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 interface Callable<RebaseResult>
Specified by:
call in class GitCommand<RebaseResult>
Returns:
an object describing the result of this command
Throws:
GitAPIException
WrongRepositoryStateException
NoHeadException
RefNotFoundException

tryFastForward

public RevCommit tryFastForward(RevCommit newCommit)
                         throws IOException,
                                GitAPIException
checks if we can fast-forward and returns the new head if it is possible

Parameters:
newCommit -
Returns:
the new head, or null
Throws:
IOException
GitAPIException

setUpstream

public RebaseCommand setUpstream(RevCommit upstream)
Parameters:
upstream - the upstream commit
Returns:
this

setUpstream

public RebaseCommand setUpstream(AnyObjectId upstream)
Parameters:
upstream - id of the upstream commit
Returns:
this

setUpstream

public RebaseCommand setUpstream(String upstream)
                          throws RefNotFoundException
Parameters:
upstream - the upstream branch
Returns:
this
Throws:
RefNotFoundException

setUpstreamName

public RebaseCommand setUpstreamName(String upstreamName)
Optionally override the name of the upstream. If this is used, it has to come after any setUpstream(org.eclipse.jgit.revwalk.RevCommit) call.

Parameters:
upstreamName - the name which will be used to refer to upstream in conflicts
Returns:
this

setOperation

public RebaseCommand setOperation(RebaseCommand.Operation operation)
Parameters:
operation - the operation to perform
Returns:
this

setProgressMonitor

public RebaseCommand setProgressMonitor(ProgressMonitor monitor)
Parameters:
monitor - a progress monitor
Returns:
this instance

runInteractively

public RebaseCommand runInteractively(RebaseCommand.InteractiveHandler handler)
Enables interactive rebase

Parameters:
handler -
Returns:
this


Copyright © 2013. All Rights Reserved.