Почему Subversion отбирает / воссоздает файлы при регистрации? - PullRequest
2 голосов
/ 03 октября 2008

У меня есть личная вики, на которой я делаю заметки. Страницы вики находятся в каталоге рабочей копии subversion, "pages", и я установил для них права доступа 664, принадлежащие www-data: www-data. Мое имя пользователя в группе "www-data", поэтому я могу проверять и связываться со страницами вручную.

Некоторое время у меня была проблема, потому что каждый раз, когда я запускал регистрацию, файлы принадлежали мне: www-data вместо www-data: www-data, и я больше не мог бы изменить Вики-файлы через мой веб-интерфейс! Я решил проблему, щелкнув бит setgid в каталоге «pages», но я все еще не понимаю, почему это произошло:

Каждый раз, когда я проверяю что-то в subversion, создается впечатление, что svn удаляет его и создает заново. Зачем? Поддерживает ли это поведение некоторую функциональность, о которой я не знаю? Есть ли способ изменить это?

Спасибо!

Ответы [ 2 ]

3 голосов
/ 07 октября 2008

Установить бит «липких» разрешений.

find -type d -exec chgrp www-data {} + 
find -type d -exec chmod g+s {} + 

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

Редактировать : dow + s == setgid. Информация оставлена ​​здесь для потомков и других читателей.

2 голосов
/ 07 октября 2008

Я думаю, что вы используете это неправильно. Что вы могли бы сделать, так это сохранить все в subversion и иметь вашу локальную рабочую копию отдельно от каталога www, на котором вы разрабатываете.

Затем просто выполните автоматическое обновление рабочей копии www (или экспортируйте ее, если вам не нужны каталоги .svn в www foldeR) для пользователя www с помощью некоторого сценария (возможно, как post-commit). hook), который устанавливает соответствующие разрешения.

Рабочий процесс будет:

  1. редактировать файлы в / home / youruser / yourwiki-working-copy /
  2. do svn commit
    • ловушка post-commit обновляет файлы в / var / www / (или везде, где находится вики)
  3. Перейти к 1.

Таким образом, вам не нужно беспокоиться о разрешениях, и вы даже можете иметь более одного человека, работающего на веб-сайте со всеми преимуществами контроля версий.

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