Могу ли я иметь один проект в двух SVN-репозиториях? - PullRequest
6 голосов
/ 09 января 2009

Наш И.Т. Отдел не разрешает подключения к серверу SVN извне физического офиса. (Они просто такие.) Мне нужно работать над проектами, когда я не в офисе.

Я мог бы просто проверить проект и подождать, пока я приду, чтобы сделать регистрацию. Может быть, это будет лучше. Но я люблю часто проверять. Мне интересно, есть ли способ сохранить проект в двух репозиториях и поддерживать их в актуальном состоянии. Таким образом, я всегда смогу зарегистрироваться где-нибудь на случай смерти моего HD. У меня есть собственный репозиторий на VPS-сервере, который я использую для личных проектов.

Я исследовал команду svn switch. С моим текущим проектом в обоих репозиториях я попытался переключить свою рабочую копию с личного на рабочие серверы SVN ...

$ svn switch --relocate svn+ssh://personalvps.com/svn/project/trunk svn://worksvn/project/trunk
svn: The repository at 'svn://worksvn/project/trunk' has uuid '2baef97e-42ce-488c-bbba-c2625158c643', but the WC has 'f13e1f32-dc92-4c4a-b84d-34a59fe32063'

Затем я попытался добавить параметры --username и --password, но получил сообщение об ошибке "запись не найдена".

Это вообще возможно или это абсолютно непрактично?


UPDATE

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

Я посмотрю на управление распределенной версией.

Ответы [ 12 ]

1 голос
/ 09 января 2009

Как сказал meador, вы можете настроить SSH-туннели для туннелирования через вашу рабочую станцию ​​в офисе, когда вы находитесь дома, и получить доступ к офисной SVN.

Отличное руководство по настройке SSH в Windows можно найти здесь: Cygwin SSH для Windows

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

Вы делаете со своей офисной рабочей станции, устанавливаете SSH-соединение с домашней машиной или, по желанию, с выделенным домашним сервером. Параметры для этого начального соединения будут обеспечивать -R (удаленный) туннель, который по существу позволяет удаленной машине возвращаться через линию на указанном порту.

Например, если вы выполните следующую команду, весь трафик, поступающий на порт 1234 на сервере, будет перенаправлен на порт 23 на клиенте. См. Удаленный туннель.

ssh2 -R 1234 :: username @ sshserver ^^ от SSH

Затем на домашней машине вы делаете что-то вроде svn: // localhost: 1234, и это даст вам доступ к SVN в офисе.

* ПРИМЕЧАНИЕ. Я бы не советовал делать это, не поговорив сначала с администраторами, потому что они могут стать очень раздражительными, когда вы обойдете их безопасность ... поверьте мне, я знаю. ; -)

1 голос
/ 09 января 2009

Взгляните на Базар . Это гораздо менее утомительно, чем git , и имеет полезный интерфейс для хранилищ Subversion (через bzr-svn ).

Это позволит вам извлекать код из ваших репозиториев Subversion, разрабатывать самостоятельно (с локальной историей) и возвращать свой код обратно в Subversion по мере необходимости.

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