Mam centralne repozytorium, w którym zespół publikuje (push) ich zatwierdzenia. W tym głównym repozytorium chcę wyłączyć usuwanie tagu i zmianę jego nazwy.Wyłącza usuwanie znaczników
Czy istnieje rozwiązanie takie jak hak lub coś takiego?
Mam centralne repozytorium, w którym zespół publikuje (push) ich zatwierdzenia. W tym głównym repozytorium chcę wyłączyć usuwanie tagu i zmianę jego nazwy.Wyłącza usuwanie znaczników
Czy istnieje rozwiązanie takie jak hak lub coś takiego?
git help hooks
zawiera dokumentację na temat haków. Hak update
jest wywoływany, gdy Git ma zamiar utworzyć/przesunąć/usunąć referencję. Nazywa się raz w odniesieniu do aktualizacji i podano:
Jeśli hak wyjdzie z niezerowym kodem wyjścia, git
nie zaktualizuje referencji, a użytkownik otrzyma błąd.
więc do rozwiązania konkretnego problemu, można dodać następujące haka update
:
#!/bin/sh
log() { printf '%s\n' "$*"; }
error() { log "ERROR: $*" >&2; }
fatal() { error "$*"; exit 1; }
case $1 in
refs/tags/*)
[ "$3" != 0000000000000000000000000000000000000000 ] \
|| fatal "you're not allowed to delete tags"
[ "$2" = 0000000000000000000000000000000000000000 ] \
|| fatal "you're not allowed to move tags"
;;
esac
może chcesz połączyć z docs lub wyjaśnić więcej o tym, jak to integruje. – Daenyth
@ Daenyth: Zaktualizowano, dziękuję! –
O wiele ładniej, +1! – Daenyth