Удаленное подключение к моему домашнему репозиторию контроля версий?

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

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

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

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

13.12.2008 08:38:21
8 ОТВЕТОВ
РЕШЕНИЕ

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

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

8
13.12.2008 09:02:08
Вы также можете рассмотреть IDE с поддержкой SVN. Eclipse + плагин Subclipse был бы моим первым выбором там, так как он может использоваться для большинства языков и с ним довольно легко справиться. Это немного громоздко, но будет работать с флешки - установите и настройте локально, затем скопируйте весь каталог на флешку.
Ian 13.12.2008 09:09:48

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

Проверьте официальную книгу SVN, там тоже много информации:

http://svnbook.red-bean.com/en/1.5/svn-book.html

1
13.12.2008 18:35:49

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

1
14.12.2008 16:12:21

Я бы порекомендовал визуальный SVN-сервер для быстрой настройки и запуска.

3
14.12.2008 16:50:53

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

1
15.12.2008 13:13:01

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

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

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

2
15.12.2008 17:44:36
Assembla.com предлагает бесплатный частный хостинг для студентов.
nickf 17.12.2008 07:49:17

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

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

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

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

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

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

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

2
17.12.2008 11:39:43

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

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