Enforcer commit-meldinger til å følge conventional commits.
Hooks-katalogen tas som kjent ikke med når du kloner, så for å få sjekkene lokalt, må de legges inn i hooks-katalogen i hvert repo du vil ha de i.
For ett repo, når du står i rotkatalogen, kjør følgende:
curl -sf https://raw.githubusercontent.com/statens-pensjonskasse/team-applikasjonsplattform-git-hooks/refs/heads/main/commit-msg >| .git/hooks/commit-msg && chmod 755 .git/hooks/commit-msgFor å legge til i alle utsjekkede repoer du har under stående katalog:
TMPDIR=$(mktemp -d) ;
curl -sf https://raw.githubusercontent.com/statens-pensjonskasse/team-applikasjonsplattform-git-hooks/refs/heads/main/commit-msg > "$TMPDIR/commit-msg" ;
chmod 755 "$TMPDIR/commit-msg" ;
find . -type d -name .git -execdir cp -p -v "$TMPDIR/commit-msg" .git/hooks/ \; ;
unset TMPDIRFor ett repo, når du står i rotkatalogen, kjør følgende:
curl -sf https://raw.githubusercontent.com/statens-pensjonskasse/team-applikasjonsplattform-git-hooks/refs/heads/main/commit-msg-strict >| .git/hooks/commit-msg && chmod 755 .git/hooks/commit-msgFor å legge til i alle utsjekkede repoer du har under stående katalog:
TMPDIR=$(mktemp -d) ;
curl -sf https://raw.githubusercontent.com/statens-pensjonskasse/team-applikasjonsplattform-git-hooks/refs/heads/main/commit-msg-strict > "$TMPDIR/commit-msg" ;
chmod 755 "$TMPDIR/commit-msg" ;
find . -type d -name .git -execdir cp -p -v "$TMPDIR/commit-msg" .git/hooks/ \; ;
unset TMPDIRKjør ./install.sh fra dette repoets katalog.
Bruk -h for hjelp, men kort fortalt kan du angi -s for å få strict-utgaven (som krever issueref)
og -r for å installere rekursivt under angitt katalog. F.eks.
# Strict-versjon i ett repo
./install.sh -s ~/src/INFRA/puppet-control
# Strict-versjon i alle repos under INFRA-katalogen
./install.sh -s -r ~/src/INFRA
# Standard-versjon i alle repos under src-katalogen
./install.sh -r ~/srcDet er også mulig å legge til dette repoet globalt i din git config ved å klone dette repoet og sette:
git config --global core.hooksPath /sti/til/dette/repoet
Merk at dette vil disable alle hooks du har lagt til i dine lokale repos, og gjøre det vanskelig å ha hooks fra andre kilder.
Kjør make testfor noen enkle tester av commit-meldingene.
Legg evt. til nye tester som filer i test/.
commit-msg / conventional-commits (valgfritt issue ref i slutten)
^(build|chore|ci|docs|feat|fix|perf|refactor|revert|style|test)(\([\w\-\.]+\))?(!)?: [^()]+(\(([A-Z]+-[0-9]+|#[0-9]+|noref)\))?(\r?\n?.*)*|Merge pull request #\d+ from .+commit-msg-strict / conventional-commits-strict (må ha issue ref eller eksplisit noref i slutten)
^(build|chore|ci|docs|feat|fix|perf|refactor|revert|style|test)(\([\w\-\.]+\))?(!)?: [^()]+(\(([A-Z]+-[0-9]+|#[0-9]+|noref)\))(\r?\n?.*)*|Merge pull request #\d+ from .+