PostCommitHook.java
- /*
- * Copyright (C) 2015 Obeo. and others
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Distribution License v. 1.0 which is available at
- * https://www.eclipse.org/org/documents/edl-v10.php.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
- package org.eclipse.jgit.hooks;
- import java.io.IOException;
- import java.io.PrintStream;
- import org.eclipse.jgit.api.errors.AbortedByHookException;
- import org.eclipse.jgit.lib.Repository;
- import org.eclipse.jgit.util.ProcessResult;
- /**
- * The <code>post-commit</code> hook implementation. This hook is run after the
- * commit was successfully executed.
- *
- * @since 4.5
- */
- public class PostCommitHook extends GitHook<Void> {
- /** The post-commit hook name. */
- public static final String NAME = "post-commit"; //$NON-NLS-1$
- /**
- * Constructor for PostCommitHook
- * <p>
- * This constructor will use the default error stream.
- * </p>
- *
- * @param repo
- * The repository
- * @param outputStream
- * The output stream the hook must use. {@code null} is allowed,
- * in which case the hook will use {@code System.out}.
- */
- protected PostCommitHook(Repository repo, PrintStream outputStream) {
- super(repo, outputStream);
- }
- /**
- * Constructor for PostCommitHook
- *
- * @param repo
- * The repository
- * @param outputStream
- * The output stream the hook must use. {@code null} is allowed,
- * in which case the hook will use {@code System.out}.
- * @param errorStream
- * The error stream the hook must use. {@code null} is allowed,
- * in which case the hook will use {@code System.err}.
- * @since 5.6
- */
- protected PostCommitHook(Repository repo, PrintStream outputStream,
- PrintStream errorStream) {
- super(repo, outputStream, errorStream);
- }
- /** {@inheritDoc} */
- @Override
- public Void call() throws IOException, AbortedByHookException {
- doRun();
- return null;
- }
- /** {@inheritDoc} */
- @Override
- public String getHookName() {
- return NAME;
- }
- /**
- * Overwrites the default implementation to never throw an
- * {@link AbortedByHookException}, as the commit has already been done and
- * the exit code of the post-commit hook has no effect.
- */
- @Override
- protected void handleError(String message, ProcessResult result)
- throws AbortedByHookException {
- // Do nothing as the exit code of the post-commit hook has no effect.
- }
- }