Здрасти. К делу!
Git откровенно насрать на права доступа файлов. И после клонирования репы эти права будут установлены по umask пользователя.
Ситуация не критичная, но иногда случаются моменты, когда нужно все эти права сохранить и после клона восстановить.
На помощь приходит костыль, всё в лучших традициях!
#!/bin/bash
find . -type f -exec stat --format='%a %n' {} \; > permissions.txt
git add permissions.txt
git commit -m "на залупе лешего вертели"
git push
Пробегаемся по всем файлам и каталогам, записываем текущие права в файл permissions.txt, коммитим, пушим.
Ну и скрипт для восстановления прав:
#!/bin/bash
if [ -f permissions.txt ]; then
while read perm file; do
if [ -f "$file" ]; then
chmod "$perm" "$file"
fi
done < permissions.txt
fi
post-checkout, post-merge) и автоматизируешь.Как автоматизировать, писал в этом посте, на примере можешь адаптировать.
А ещё есть git-restore-mtime для восстановления метаданных времени модификации файлов.
Такие дела, изучай…








Комментарии