Class PrePushHook

  • All Implemented Interfaces:
    Callable<String>
    Direct Known Subclasses:
    LfsPrePushHook

    public class PrePushHook
    extends GitHook<String>
    The pre-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
    • Constructor Detail

      • PrePushHook

        protected PrePushHook​(Repository repo,
                              PrintStream outputStream)
        Constructor for PrePushHook

        This constructor will use the default error stream.

        Parameters:
        repo - The repository
        outputStream - The output stream the hook must use. null is allowed, in which case the hook will use System.out.
      • PrePushHook

        protected PrePushHook​(Repository repo,
                              PrintStream outputStream,
                              PrintStream errorStream)
        Constructor for PrePushHook
        Parameters:
        repo - The repository
        outputStream - The output stream the hook must use. null is allowed, in which case the hook will use System.out.
        errorStream - The error stream the hook must use. null is allowed, in which case the hook will use System.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 returns null.
        Overrides:
        getStdinArgs in class GitHook<String>
        Returns:
        The parameters the hook receives.
      • getHookName

        public String getHookName()
        Get name of the hook
        Specified by:
        getHookName in class GitHook<String>
        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.

        Overrides:
        getParameters in class GitHook<String>
        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
      • setDryRun

        public void setDryRun​(boolean dryRun)
        Sets whether the push is a dry run.
        Parameters:
        dryRun - true if the push is a dry run, false otherwise
        Since:
        6.2
      • isDryRun

        protected boolean isDryRun()
        Tells whether the push is a dry run.
        Returns:
        true if the push is a dry run, false otherwise
        Since:
        6.2
      • setRefs

        public void setRefs​(Collection<RemoteRefUpdate> toRefs)
        Set Refs
        Parameters:
        toRefs - a collection of RemoteRefUpdates