Как сохранить разрешение файла в git? - PullRequest
8 голосов
/ 23 августа 2011

Я столкнулся с проблемой, которая заняла у меня много времени, чтобы найти решение, но я так и не смог его найти.

У меня возникла проблема «DatabaseError: попытка записать базу данных только для чтения», когда я пыталсяразверните мой сайт через git на хостинге Django.

Кажется, что git изменит разрешение моих файлов с 777 до 755. Но всякий раз, когда я фиксирую свой проект, это изменение будет сохраняться.Однако мне все еще нужно что-то записать в мою базу данных (sqlite database).

У кого-нибудь есть предложения по настройке моего git для сохранения режима разрешений при каждом коммите?

1 Ответ

11 голосов
/ 23 августа 2011

Короче говоря, вы не можете.

В более длительном периоде есть такие проекты, как etckeeper, которые могут делать это автоматически, или вы можете написать небольшой скрипт-хук, который исправит права доступа (что, вероятно, какЯ бы сделал это).

Например, если вы делаете что-то такое:

#!/bin/sh
chmod -R XXX file_or_directory/

К, например, scripts/fix_permissions/, то запускайте его как пост-получение перехватите, связав его с .git/hooks/post-receive на сервере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...