[devel] symlinks in .git/hooks/ (OpenVZ/p8, bin/tar: Too many levels of symbolic links)

Sergey Afonin asy на altlinux.org
Вт Июн 1 08:53:28 MSK 2021


On Monday 12 April 2021, Alexey Sheplyakov wrote:

> Сделали симлинк inn/.git/hooks/pre-rebase.sample (на /usr/share/git-core/hooks/pre-rebase).
> И тут же пытаемся открыть с флагом O_NOFOLLOW.

Так всё же, кто и когда сделал такие симлинки? Какая-то ошибка
в git была? Потому как руками я это точно не делал:

unlinkat(AT_FDCWD, "cyrus-imapd/.git/hooks/prepare-commit-msg.sample", 0) = 0
symlinkat("/usr/share/git-core/hooks/prepare-commit-msg", AT_FDCWD, "cyrus-imapd/.git/hooks/prepare-commit-msg.sample") = 0
utimensat(AT_FDCWD, "cyrus-imapd/.git/hooks/prepare-commit-msg.sample", [UTIME_OMIT, {tv_sec=1568140747, tv_nsec=0} /* 2019-09-10T18:39:07+0000 */], AT_SYMLINK_NOFOLLOW) = 0
newfstatat(AT_FDCWD, "cyrus-imapd/.git/hooks/prepare-commit-msg.sample", {st_mode=S_IFLNK|0777, st_size=44, ...}, AT_SYMLINK_NOFOLLOW) = 0
openat(AT_FDCWD, "cyrus-imapd/.git/hooks/prepare-commit-msg.sample", O_RDONLY|O_NOFOLLOW|O_CLOEXEC|O_PATH) = -1 ELOOP (Too many levels of symbolic links)

И как теперь методически правильно починить .git/hooks/*, которые,
вообще-то, все симлинки в некоторых репозиториях? Что тоже, кстати,
странно, так как в некоторых случаях не симлинки.

> Работает, как задокументировано.

И почему раньше работало?

-- 
С уважением, Сергей Афонин.


Подробная информация о списке рассылки Devel