mirror of
https://github.com/tailscale/tailscale.git
synced 2026-05-11 00:24:14 -04:00
Move HOOK_VERSION into the githook package and export it as githook.HookVersion, so tailscale/corp can reference it via the shared-code bump instead of having to bump HOOK_VERSION by hand. New launcher.sh composes the wanted version from 2 sources: the shared HOOK_VERSION and an optional repo local version, misc/git_hook/HOOK_VERSION, for repo-specific config bumps. Updates tailscale/corp#40381 Change-Id: I7cf16889ba53cb564cc2df7dfd7588748f542c55 Signed-off-by: Fernando Serboncini <fserb@tailscale.com>
36 lines
1.0 KiB
Markdown
36 lines
1.0 KiB
Markdown
# git_hook
|
|
|
|
Tailscale's git hooks.
|
|
|
|
The shared logic lives in the `githook/` package and is also imported by
|
|
`tailscale/corp`.
|
|
|
|
## Install
|
|
|
|
From the repo root:
|
|
|
|
./tool/go run ./misc/install-git-hooks.go
|
|
|
|
The script auto-updates in the future.
|
|
|
|
|
|
## Adding your own hooks
|
|
|
|
Create an executable `.git/hooks/<hook-name>.local` to chain a custom
|
|
script after a built-in hook. For example, put a custom check in
|
|
`.git/hooks/pre-commit.local` and `chmod +x` it. The local hook runs
|
|
only if the built-in hook succeeds; failure aborts the git operation.
|
|
|
|
|
|
## Version bumps
|
|
|
|
The launcher rebuilds when the installed binary's version differs from
|
|
the concatenation of two files:
|
|
|
|
* `githook/HOOK_VERSION` (shared): bump when changing anything under
|
|
`githook/` or `git-hook.go`. Downstream repos pick it up after
|
|
bumping their `tailscale.com` dependency.
|
|
* `misc/git_hook/HOOK_VERSION` (repo-local, optional): bump to force a
|
|
rebuild for repo-specific config changes without touching the shared
|
|
version. This repo does not use one.
|