Удаленное подключение к моему домашнему репозиторию контроля версий? - PullRequest
5 голосов
/ 13 декабря 2008

Я установил систему управления версиями, используя TortoiseSVN у себя дома, чтобы управлять своими любимыми проектами, школьными проектами и т. Д ... и она работает локально.

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

Вопрос в том, как я могу удаленно подключиться к своему хранилищу ? Какие порты мне нужно открыть на моем роутере, например?

Кроме того, я не могу установить клиент Tortoise в школе, поэтому мне понадобится другое портативное приложение, которое выполняет эту задачу, будь то GUI или CLI .

Ответы [ 8 ]

8 голосов
/ 13 декабря 2008

Существуют различные подходы для предоставления удаленного доступа. В вашем случае проще всего настроить svnserve server . Вы можете вручную запустить его с помощью --daemon или установить как службу Windows. В любом случае порт 3690 должен быть открыт. Обязательно установите пароль и ограничьте svnserve каталогом, в котором находится ваш репозиторий.

В качестве переносимого приложения я рекомендую использовать командную строку svn client. Различные клиенты командной строки существуют для Windows. Вам следует установить один из них на свой компьютер, убедиться, что вы понимаете, как его использовать, а затем скопировать его вместе со всеми необходимыми DLL на USB-накопитель.

3 голосов
/ 14 декабря 2008

Я бы порекомендовал visual svn server для быстрой настройки и запуска.

2 голосов
/ 17 декабря 2008

Поскольку у людей есть ответы на ваш вопрос конкретно - альтернативное решение: распределенная система контроля версий.

Git, вероятно, является самым популярным, но я бы порекомендовал попробовать darcs - поскольку он скомпилирован в переносимый одиночный двоичный файл, в отличие от git, который представляет собой беспорядок в сценариях оболочки, perl-скриптах / библиотеках и C (или C++?) двоичные файлы.

Неотъемлемым преимуществом «DVCS» является то, что вы можете фиксировать (и делать практически все остальное) без подключения к центральному серверу - когда вы учитесь в школе, вы можете фиксировать, создавать / объединять ветки и так далее. Затем, когда вы находитесь дома, вы «толкаете» в свой главный репозиторий.

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

Другим альтернативным решением будет использование стороннего SVN-сервера (например, Google Code или одного из многих сотен других - некоторые разрешают частные репозитории, другие берут за них плату), и снова вам не нужно беспокоиться о переадресации портов и т. д.

Вопрос в том, как я могу подключиться к своему хранилищу удаленно? Какие порты мне нужно открыть на моем роутере, например?

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

2 голосов
/ 15 декабря 2008

Я бы предостерег вас от необходимости проверять защиту вашей домашней сети, если это первая «внешняя услуга», которую вы предлагаете. Открытие дыры в вашем брандмауэре может быть довольно безболезненным, если вы старый, но к этому вам следует подойти с осторожностью, если вы не сделали этого раньше. Читайте. : -)

В качестве альтернативы, в сети есть бесплатные сайты управления проектами кода ( SourceForge и Google Code *), которые предлагают хостинг Subversion. Некоторые сервисы даже позволяют вам предоставить svndump для сохранения существующего хранилища (я думаю, что Google Code, по крайней мере, разрешил это специальным запросом в какой-то момент, но я не знаю, возможно ли это по-прежнему).

Одним из потенциальных недостатков этих двух является то, что их хранилища доступны для публичного просмотра. Если вы хотите ограничить доступ для чтения к своему хранилищу, существуют другие бесплатные сервисы, которые позволяют это, но я боюсь, что я не могу назвать ни одного из них.

1 голос
/ 17 декабря 2008

У меня дома сервер svn через линию ADSL с динамическим IP. Моя настройка, которая позволяет мне удаленный доступ:

  • настроить сервер Subversion в качестве службы Windows
  • открыть порт 3690 на брандмауэре сервера.
  • открыть порт 3690 на брандмауэре маршрутизатора.
  • настроить переадресацию портов на маршрутизаторе ADSL
  • настроить DNS для домашнего сервера на www.dyndns.og
  • настройка безопасности SVN (авторизация и аутентификация)
1 голос
/ 15 декабря 2008

Вы можете использовать RapidSVN на карте памяти в качестве графического SVN-клиента. Загрузка является установщиком, но после установки вы можете скопировать содержимое папки с файлами программы на карту памяти и просто запустить ее оттуда.

1 голос
/ 14 декабря 2008

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

1 голос
/ 13 декабря 2008

Мартин прав: он должен работать как демон или как зарегистрированный сервис. На моем компьютере я использую команду svnserve -d для запуска.

Ознакомьтесь с официальной книгой SVN, там тоже много информации:

http://svnbook.red -bean.com / о / 1,5 / СВН-book.html

...