diff options
Diffstat (limited to 'g')
-rwxr-xr-x | g | 17 |
1 files changed, 10 insertions, 7 deletions
@@ -91,13 +91,16 @@ refresh_all_hooks() local hook pushd "${COREDIR?}" > /dev/null - for hook_name in "${COREDIR?}/.git-hooks"/* ; do - hook=".git/hooks/${hook_name##*/}" - if [ ! -e "${hook?}" ] || [ -L "${hook?}" ] ; then - rm -f "${hook?}" - ln -sf "${hook_name}" "${hook?}" - fi - done + # There's no ".git" e.g. in a secondary worktree + if [ -d ".git" ]; then + for hook_name in "${COREDIR?}/.git-hooks"/* ; do + hook=".git/hooks/${hook_name##*/}" + if [ ! -e "${hook?}" ] || [ -L "${hook?}" ] ; then + rm -f "${hook?}" + ln -sf "${hook_name}" "${hook?}" + fi + done + fi for repo in ${SUBMODULES_ALL?} ; do refresh_submodule_hooks "$repo" |