java.lang.Object
org.eclipse.jgit.api.GitCommand<T>
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
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 monitorRetrieves thePushConfig.PushDefault
currently set.Get 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 preferenceboolean
Whether to use bitmaps for push.setAtomic
(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.setHookErrorStream
(PrintStream redirect) Sets aPrintStream
a "pre-push" hook may write its stderr to.setHookOutputStream
(PrintStream redirect) Sets aPrintStream
a "pre-push" hook may write its stdout to.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/*.setPushDefault
(PushConfig.PushDefault pushDefault) Sets an explicitPushConfig.PushDefault
.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 thinPack) Set the thin-pack preference for push operation.setUseBitmaps
(boolean useBitmaps) Set whether to use bitmaps for push.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
-
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
-
setHookOutputStream
Sets aPrintStream
a "pre-push" hook may write its stdout to. If not set,System.out
will be used.When pushing to several remote repositories the stream is shared for all pushes.
- Parameters:
redirect
-PrintStream
to use; ifnull
,System.out
will be used- Returns:
this
- Since:
- 6.4
-
setHookErrorStream
Sets aPrintStream
a "pre-push" hook may write its stderr to. If not set,System.err
will be used.When pushing to several remote repositories the stream is shared for all pushes.
- Parameters:
redirect
-PrintStream
to use; ifnull
,System.err
will be used- Returns:
this
- Since:
- 6.4
-
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
-
getPushDefault
Retrieves thePushConfig.PushDefault
currently set.- Returns:
- the
PushConfig.PushDefault
, ornull
if not set - Since:
- 6.1
-
setPushDefault
Sets an explicitPushConfig.PushDefault
. The default used if this is not called isPushConfig.PushDefault.CURRENT
for compatibility reasons with earlier JGit versions.- Parameters:
pushDefault
-PushConfig.PushDefault
to set; ifnull
the value defined in the git config will be used.- Returns:
this
- Since:
- 6.1
-
setPushAll
Push all branches under refs/heads/*.- Returns:
this
-
setPushTags
Push all tags under refs/tags/*.- Returns:
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:
thinPack
- the thin-pack preference value- Returns:
this
-
isUseBitmaps
public boolean isUseBitmaps()Whether to use bitmaps for push.- Returns:
- true if push use bitmaps.
- Since:
- 6.4
-
setUseBitmaps
Set whether to use bitmaps for push. Default setting is true- Parameters:
useBitmaps
- false to disable use of bitmaps for push, true otherwise.- Returns:
this
- Since:
- 6.4
-
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
-