Package org.eclipse.jgit.api
Class PushCommand
java.lang.Object
org.eclipse.jgit.api.GitCommand<Iterable<PushResult>>
org.eclipse.jgit.api.TransportCommand<PushCommand,Iterable<PushResult>>
org.eclipse.jgit.api.PushCommand
- All Implemented Interfaces:
Callable<Iterable<PushResult>>
A class used to execute a
Push
command. It has setters for all
supported options and arguments of this command and a call()
method
to finally execute the command.- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate boolean
private boolean
private boolean
private ProgressMonitor
private OutputStream
private String
private final Map
<String, RefLeaseSpec> private String
private boolean
Fields inherited from class org.eclipse.jgit.api.TransportCommand
credentialsProvider, timeout, transportConfigCallback
Fields inherited from class org.eclipse.jgit.api.GitCommand
repo
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
PushCommand
(Repository repo) Constructor for PushCommand. -
Method Summary
Modifier and TypeMethodDescriptionAdd a reference to push.Add a reference to push.call()
Get the progress monitorGet push optionsGet the name of the remote executable providing the receive-pack serviceGet theRefLeaseSpec
s.GetRefSpec
s.Get remote nameint
Get timeout used for push operationboolean
isAtomic()
Whether this push should be executed atomically (all references updated, or none)boolean
isDryRun()
Whether to run the push operation as a dry runboolean
isForce()
Whether to push forcefullyboolean
isThin()
Get the thin-pack preferencesetAtomic
(boolean atomic) Requests atomic push (all references updated, or no updates).setDryRun
(boolean dryRun) Sets whether the push operation should be a dry runsetForce
(boolean force) Sets the force preference for push operation.Sets the output stream to write sideband messages tosetProgressMonitor
(ProgressMonitor monitor) The progress monitor associated with the push operation.Push all branches under refs/heads/*.setPushOptions
(List<String> pushOptions) Set the option strings associated with the push operation.Push all tags under refs/tags/*.setReceivePack
(String receivePack) The remote executable providing receive-pack service for pack transports.setRefLeaseSpecs
(List<RefLeaseSpec> specs) The ref lease specs to be used in the push operation, for a force-with-lease push operation.setRefLeaseSpecs
(RefLeaseSpec... specs) The ref lease specs to be used in the push operation, for a force-with-lease push operation.setRefSpecs
(List<RefSpec> specs) The ref specs to be used in the push operationsetRefSpecs
(RefSpec... specs) The ref specs to be used in the push operationThe remote (uri or name) used for the push operation.setThin
(boolean thin) Set the thin-pack preference for push operation.Methods inherited from class org.eclipse.jgit.api.TransportCommand
configure, configure, self, setCredentialsProvider, setTimeout, setTransportConfigCallback
Methods inherited from class org.eclipse.jgit.api.GitCommand
checkCallable, getRepository, setCallable
-
Field Details
-
remote
-
refSpecs
-
refLeaseSpecs
-
monitor
-
receivePack
-
dryRun
private boolean dryRun -
atomic
private boolean atomic -
force
private boolean force -
thin
private boolean thin -
out
-
pushOptions
-
-
Constructor Details
-
PushCommand
Constructor for PushCommand.
- Parameters:
repo
- theRepository
-
-
Method Details
-
call
public Iterable<PushResult> call() throws GitAPIException, InvalidRemoteException, TransportExceptionExecute the command
Execute the
push
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 (means: one call tocall()
)- Specified by:
call
in interfaceCallable<Iterable<PushResult>>
- Specified by:
call
in classGitCommand<Iterable<PushResult>>
- Throws:
GitAPIException
InvalidRemoteException
TransportException
-
setRemote
The remote (uri or name) used for the push operation. If no remote is set, the default value ofConstants.DEFAULT_REMOTE_NAME
will be used.- Parameters:
remote
- the remote name- Returns:
this
- See Also:
-
getRemote
Get remote name- Returns:
- the remote used for the remote operation
-
setReceivePack
The remote executable providing receive-pack service for pack transports. If no receive-pack is set, the default value ofRemoteConfig.DEFAULT_RECEIVE_PACK
will be used.- Parameters:
receivePack
- name of the remote executable providing the receive-pack service- Returns:
this
- See Also:
-
getReceivePack
Get the name of the remote executable providing the receive-pack service- Returns:
- the receive-pack used for the remote operation
-
getTimeout
public int getTimeout()Get timeout used for push operation- Returns:
- the timeout used for the push operation
-
getProgressMonitor
Get the progress monitor- Returns:
- the progress monitor for the push operation
-
setProgressMonitor
The progress monitor associated with the push operation. By default, this is set toNullProgressMonitor
- Parameters:
monitor
- aProgressMonitor
- Returns:
this
- See Also:
-
getRefLeaseSpecs
Get theRefLeaseSpec
s.- Returns:
- the
RefLeaseSpec
s - Since:
- 4.7
-
setRefLeaseSpecs
The ref lease specs to be used in the push operation, for a force-with-lease push operation.- Parameters:
specs
- aRefLeaseSpec
object.- Returns:
this
- Since:
- 4.7
-
setRefLeaseSpecs
The ref lease specs to be used in the push operation, for a force-with-lease push operation.- Parameters:
specs
- list ofRefLeaseSpec
s- Returns:
this
- Since:
- 4.7
-
getRefSpecs
GetRefSpec
s.- Returns:
- the ref specs
-
setRefSpecs
The ref specs to be used in the push operation- Parameters:
specs
- aRefSpec
object.- Returns:
this
-
setRefSpecs
The ref specs to be used in the push operation- Parameters:
specs
- list ofRefSpec
s- Returns:
this
-
setPushAll
Push all branches under refs/heads/*.- Returns:
- {code this}
-
setPushTags
Push all tags under refs/tags/*.- Returns:
- {code this}
-
add
Add a reference to push.- Parameters:
ref
- the source reference. The remote name will match.- Returns:
this
.
-
add
Add a reference to push.- Parameters:
nameOrSpec
- any reference name, or a reference specification.- Returns:
this
.- Throws:
JGitInternalException
- the reference name cannot be resolved.
-
isDryRun
public boolean isDryRun()Whether to run the push operation as a dry run- Returns:
- the dry run preference for the push operation
-
setDryRun
Sets whether the push operation should be a dry run- Parameters:
dryRun
- a boolean.- Returns:
this
-
isThin
public boolean isThin()Get the thin-pack preference- Returns:
- the thin-pack preference for push operation
-
setThin
Set the thin-pack preference for push operation. Default setting is Transport.DEFAULT_PUSH_THIN- Parameters:
thin
- the thin-pack preference value- Returns:
this
-
isAtomic
public boolean isAtomic()Whether this push should be executed atomically (all references updated, or none)- Returns:
- true if all-or-nothing behavior is requested.
- Since:
- 4.2
-
setAtomic
Requests atomic push (all references updated, or no updates). Default setting is false.- Parameters:
atomic
- whether to run the push atomically- Returns:
this
- Since:
- 4.2
-
isForce
public boolean isForce()Whether to push forcefully- Returns:
- the force preference for push operation
-
setForce
Sets the force preference for push operation.- Parameters:
force
- whether to push forcefully- Returns:
this
-
setOutputStream
Sets the output stream to write sideband messages to- Parameters:
out
- anOutputStream
- Returns:
this
- Since:
- 3.0
-
getPushOptions
Get push options- Returns:
- the option strings associated with the push operation
- Since:
- 4.5
-
setPushOptions
Set the option strings associated with the push operation.- Parameters:
pushOptions
- aList
of push option strings- Returns:
this
- Since:
- 4.5
-