From ecd6f1661333e66f39f2b4e1ada1ba46d993172a Mon Sep 17 00:00:00 2001 From: Yasutake Yohei <61961825+yasutakeyohei@users.noreply.github.com> Date: Fri, 19 Jun 2026 00:22:53 +0900 Subject: Initial commit --- documents.git/hooks/sendemail-validate.sample | 77 --------------------------- 1 file changed, 77 deletions(-) delete mode 100644 documents.git/hooks/sendemail-validate.sample (limited to 'documents.git/hooks/sendemail-validate.sample') diff --git a/documents.git/hooks/sendemail-validate.sample b/documents.git/hooks/sendemail-validate.sample deleted file mode 100644 index 640bcf8..0000000 --- a/documents.git/hooks/sendemail-validate.sample +++ /dev/null @@ -1,77 +0,0 @@ -#!/bin/sh - -# An example hook script to validate a patch (and/or patch series) before -# sending it via email. -# -# The hook should exit with non-zero status after issuing an appropriate -# message if it wants to prevent the email(s) from being sent. -# -# To enable this hook, rename this file to "sendemail-validate". -# -# By default, it will only check that the patch(es) can be applied on top of -# the default upstream branch without conflicts in a secondary worktree. After -# validation (successful or not) of the last patch of a series, the worktree -# will be deleted. -# -# The following config variables can be set to change the default remote and -# remote ref that are used to apply the patches against: -# -# sendemail.validateRemote (default: origin) -# sendemail.validateRemoteRef (default: HEAD) -# -# Replace the TODO placeholders with appropriate checks according to your -# needs. - -validate_cover_letter () { - file="$1" - # TODO: Replace with appropriate checks (e.g. spell checking). - true -} - -validate_patch () { - file="$1" - # Ensure that the patch applies without conflicts. - git am -3 "$file" || return - # TODO: Replace with appropriate checks for this patch - # (e.g. checkpatch.pl). - true -} - -validate_series () { - # TODO: Replace with appropriate checks for the whole series - # (e.g. quick build, coding style checks, etc.). - true -} - -# main ------------------------------------------------------------------------- - -if test "$GIT_SENDEMAIL_FILE_COUNTER" = 1 -then - remote=$(git config --default origin --get sendemail.validateRemote) && - ref=$(git config --default HEAD --get sendemail.validateRemoteRef) && - worktree=$(mktemp --tmpdir -d sendemail-validate.XXXXXXX) && - git worktree add -fd --checkout "$worktree" "refs/remotes/$remote/$ref" && - git config --replace-all sendemail.validateWorktree "$worktree" -else - worktree=$(git config --get sendemail.validateWorktree) -fi || { - echo "sendemail-validate: error: failed to prepare worktree" >&2 - exit 1 -} - -unset GIT_DIR GIT_WORK_TREE -cd "$worktree" && - -if grep -q "^diff --git " "$1" -then - validate_patch "$1" -else - validate_cover_letter "$1" -fi && - -if test "$GIT_SENDEMAIL_FILE_COUNTER" = "$GIT_SENDEMAIL_FILE_TOTAL" -then - git config --unset-all sendemail.validateWorktree && - trap 'git worktree remove -ff "$worktree"' EXIT && - validate_series -fi -- cgit v1.2.3-54-g00ecf