Class CommitMsgHook

  • All Implemented Interfaces:
    Callable<String>

    public class CommitMsgHook
    extends Object
    The commit-msg hook implementation. This hook is run before the commit and can reject the commit. It passes one argument to the hook script, which is the path to the COMMIT_MSG file, relative to the repository workTree.
    Since:
    4.0
    • Field Detail

      • 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

      • CommitMsgHook

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

        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.
      • CommitMsgHook

        protected CommitMsgHook​(Repository repo,
                                PrintStream outputStream,
                                PrintStream errorStream)
        Constructor for CommitMsgHook
        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

      • 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 one parameter, which is the path to the file holding the current commit-msg, relative to the repository's work tree.
        Returns:
        The parameters the hook receives.
      • setCommitMessage

        public CommitMsgHook setCommitMessage​(String commitMessage)
        It is mandatory to call this method with a non-null value before actually calling the hook.
        Parameters:
        commitMessage - The commit message before the hook has run.
        Returns:
        this for convenience.
      • getRepository

        protected Repository getRepository()
        Get the repository
        Returns:
        The repository.
      • getStdinArgs

        protected String getStdinArgs()
        Override to provide relevant arguments via stdin to the underlying hook script. The default implementation returns null.
        Returns:
        The parameters the hook receives.
      • 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.
      • 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