2008-12-13 5 views
5

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

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

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

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

ответ

8

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

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

+0

Вы могли бы также рассмотреть IDE с поддержкой SVN. Eclipse + плагин Subclipse будет моим первым выбором, поскольку он может использоваться для большинства языков и с ним легко справиться. Это немного громоздко, но будет работать с USB-накопителя - установить и настроить локально, а затем скопировать весь каталог в палку. – Ian

1

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

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

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

1

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

3

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

+0

Это очень классный продукт. Я также рекомендую его. –

1

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

2

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

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

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

+0

Assembla.com предлагает бесплатный хостинг для студентов. – nickf

2

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

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

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

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

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

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

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

1

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

  • установки подрывной сервер, как службы Windows
  • открыть порт 3690 на брандмауэре сервера.
  • открытый порт 3690 на брандмауэре маршрутизатора.
  • настроить перенаправление портов на маршрутизаторе ADSL
  • Настройка DNS для домашнего сервера на www.dyndns.og
  • безопасности Настройка SVN (авторизации и аутентификации)
Смежные вопросы