Package org.eclipse.jgit.hooks
Class PrePushHook
- java.lang.Object
-
- org.eclipse.jgit.hooks.PrePushHook
-
- Direct Known Subclasses:
LfsPrePushHook
public class PrePushHook extends Object
Thepre-push
hook implementation. The pre-push hook runs during git push, after the remote refs have been updated but before any objects have been transferred.- Since:
- 4.2
-
-
Field Summary
Fields Modifier and Type Field Description protected PrintStream
errorStream
The error stream to be used by the hook.static String
NAME
Constant indicating the name of the pre-push hook.protected PrintStream
outputStream
The output stream to be used by the hook.
-
Constructor Summary
Constructors Modifier Constructor Description protected
PrePushHook(Repository repo, PrintStream outputStream)
Constructor for PrePushHookprotected
PrePushHook(Repository repo, PrintStream outputStream, PrintStream errorStream)
Constructor for PrePushHook
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
call()
protected void
doRun()
Runs the hook, without performing any validity checks.protected PrintStream
getErrorStream()
Get error streamString
getHookName()
Get name of the hookprotected PrintStream
getOutputStream()
Get output streamprotected String[]
getParameters()
Override this method when needed to provide relevant parameters to the underlying hook script.protected String
getRemoteName()
Get remote nameprotected Repository
getRepository()
Get the repositoryprotected String
getStdinArgs()
Override to provide relevant arguments via stdin to the underlying hook script.boolean
isNativeHookPresent()
Check whether a 'native' (i.e.void
setRefs(Collection<RemoteRefUpdate> toRefs)
Set Refsvoid
setRemoteLocation(String location)
Set remote locationvoid
setRemoteName(String name)
Set remote name
-
-
-
Field Detail
-
NAME
public static final String NAME
Constant indicating the name of the pre-push hook.- See Also:
- Constant Field Values
-
outputStream
protected final PrintStream outputStream
The output stream to be used by the hook.
-
errorStream
protected final PrintStream errorStream
The error stream to be used by the hook.
-
-
Constructor Detail
-
PrePushHook
protected PrePushHook(Repository repo, PrintStream outputStream)
Constructor for PrePushHookThis constructor will use the default error stream.
- Parameters:
repo
- The repositoryoutputStream
- The output stream the hook must use.null
is allowed, in which case the hook will useSystem.out
.
-
PrePushHook
protected PrePushHook(Repository repo, PrintStream outputStream, PrintStream errorStream)
Constructor for PrePushHook- Parameters:
repo
- The repositoryoutputStream
- The output stream the hook must use.null
is allowed, in which case the hook will useSystem.out
.errorStream
- The error stream the hook must use.null
is allowed, in which case the hook will useSystem.err
.- Since:
- 5.6
-
-
Method Detail
-
getStdinArgs
protected String getStdinArgs()
Override to provide relevant arguments via stdin to the underlying hook script. The default implementation returnsnull
.- Returns:
- The parameters the hook receives.
-
call
public String call() throws IOException, AbortedByHookException
Run the hook.
- Specified by:
call
in interfaceCallable<String>
- Throws:
IOException
AbortedByHookException
-
getHookName
public String getHookName()
Get name of the hook- Returns:
- The name of the hook, which must not be
null
.
-
getParameters
protected String[] getParameters()
Override this method when needed to provide relevant parameters to the underlying hook script. The default implementation returns an empty array.This hook receives two parameters, which is the name and the location of the remote repository.
- Returns:
- The parameters the hook receives.
-
setRemoteName
public void setRemoteName(String name)
Set remote name- Parameters:
name
- remote name
-
getRemoteName
protected String getRemoteName()
Get remote name- Returns:
- remote name or null
- Since:
- 4.11
-
setRemoteLocation
public void setRemoteLocation(String location)
Set remote location- Parameters:
location
- a remote location
-
setRefs
public void setRefs(Collection<RemoteRefUpdate> toRefs)
Set Refs- Parameters:
toRefs
- a collection ofRemoteRefUpdate
s
-
getRepository
protected Repository getRepository()
Get the repository- Returns:
- The repository.
-
getOutputStream
protected PrintStream getOutputStream()
Get output stream- Returns:
- The output stream the hook must use. Never
null
,System.out
is returned by default.
-
getErrorStream
protected PrintStream getErrorStream()
Get error stream- Returns:
- The error stream the hook must use. Never
null
,System.err
is returned by default.
-
doRun
protected void doRun() throws AbortedByHookException
Runs the hook, without performing any validity checks.- Throws:
AbortedByHookException
- If the underlying hook script exited with non-zero.
-
isNativeHookPresent
public boolean isNativeHookPresent()
Check whether a 'native' (i.e. script) hook is installed in the repository.- Returns:
- whether a native hook script is installed in the repository.
- Since:
- 4.11
-
-