Очистить инструкцию о путях SVN

Я работаю некоторое время, сейчас пытаюсь лучше понять SVN. Я работаю с сервером Mac OSX Lion. Я смог настроить и запустить SVN на компьютере и сделать так, чтобы я мог проверять и получать документы. Однако я хочу сделать его доступным для дополнительных услуг через Интернет, поэтому, хотя многие из моих коллег и я путешествуем, мы все равно можем работать вместе. Я перенаправил порт 3690 (я считаю, что это порт SVN), и порт для SSH был настроен ранее.

Я установил SVN репозиторий на /Library/Subversion/Repository/и у меня есть Версии и Терминал на сервере для тестирования. Я могу подключиться с помощью file:// параметр пути, но я не могу подключиться с помощью svn+ssh://username@localhost/MyProject,

Я точно знаю, что могу подключиться через ssh, и ошибка "Не найдено хранилище". Я предполагаю, что мне нужен другой путь, но все статьи Mac OS, которые я прочитал, только рассказывают, как настроить его на хосте, а не для использования по локальной сети или извне.

Любые идеи или мысли с благодарностью. В качестве ссылки на шаги, которые я предпринял ниже, приведены некоторые ссылки на статьи, из которых я работал.

2 ответа

Решение

Прежде всего, убедитесь, что ваш брандмауэр Mac не блокирует вас. Вы можете удаленно войти через ssh из другой системы в вашу систему? Если нет, перейдите в " Системные настройки", выберите " Безопасность и конфиденциальность", затем выберите " Брандмауэр". Вам нужно нажать кнопку Дополнительно...

Оказавшись там, убедитесь, что удаленный вход в систему (SSH) активен через брандмауэр.

Как только вы позволили ssh доступ к вашему Mac, вам нужно убедиться, что у вас есть svn+ssh настроить правильно. Попробуйте с вашего собственного Mac получить доступ к хранилищу через svn+ssh:// а не через file://, Если вы не можете этого сделать, у вас нет svn+ssh настроить правильно.

Настройка Subversion для использования svn+ssh это самый хитрый из четырех способов доступа к хранилищу Subversion. В отличие от svn:// а также http://сервер хранилища не работает, пока пользователь не войдет в вашу систему.

Когда пользователь подключается svn+sshони сразу пускают svnserve для доступа к хранилищу Subversion (это svn часть svn+ssh).

Так как svnserve работает как пользователь, который использовал ssh для доступа к репозиторию каждый каталог и файл, созданные в физическом каталоге репозитория, будут принадлежать этому пользователю. Таким образом, вам необходимо убедиться, что все пользователи, имеющие доступ к этому репозиторию, находятся в одной и той же основной группе, и все созданные файлы или каталоги в каталоге репозитория Subversion доступны для чтения / записи этой группой.

Для этого вам необходимо выполнить следующие шаги:

  • Убедитесь, что все пользователи Mac, имеющие доступ к вашему хранилищу Subversion, имеют одну и ту же основную группу. Вы создаете группу на своем Mac, используя панель настроек " Пользователи и группы". Нажмите на +, как при создании нового пользователя, но выберите Group из выпадающего списка. Поместите всех, кто собирается войти в эту группу.
  • Когда вы создаете хранилище Subversion
    • Убедитесь, что все файлы и каталоги дерева каталогов хранилища принадлежат группе Subversion через chgrp команда.
    • Использовать chmod команда, чтобы убедиться, что все дерево каталогов доступно для чтения / записи этой группой Subversion.
  • Вы должны установить каждого пользователя umask в 002 или же 0002 вместо по умолчанию 022 или же 0022, Таким образом, когда пользователь создает новый каталог или файл в хранилище, он может быть прочитан и записан любым другим пользователем в группе. В противном случае один пользователь создаст изменение, но другие пользователи не смогут вносить изменения.

Посмотрите на эти ссылки из онлайнового руководства Subversion:

Да, я добавляю еще один ответ...

Возможно, вы захотите попробовать сторонний сервер, такой как Assembla, вместо того, чтобы попробовать его на своем Mac. Это предоставит всем доступ, не делая вашу персональную машину сервером, который должен быть включен 24/7/365.

Другие вопросы по тегам