2009-03-24 3 views
72

Я перемещаю свой репозиторий Subversion с одной машины на другую. У меня есть несколько разбросанных рабочих копий на разных машинах, и я обнаружил, что я могу легко переключать рабочие копии со старого сервера на новый с помощью следующей команды:Можно ли переустанавливать SVN-репозитории из Eclipse?

svn --relocate svn://oldServer/repo svn://newServer/repo 

Однако, на одной из моих машин , Я использую Eclipse с Subclipse, и мне не нравится использовать SVN в командной строке для моих проектов Eclipse. Мой вопрос заключается в том, можно ли переключать SVN-репозитории из Eclipse с помощью Subclipse или Subversive.

ответ

92

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

+7

Это отлично работало на коробке, в которой я работал подзаголовком, и что-то очень похожее работало на коробке с Subversive. Трюк на Subversive оказался изменением «свойств местоположения» в браузере репозитория. Огромное спасибо! –

+3

Подрывная организация не может перемещаться между протоколами. Переход от SVN + SSH к HTTPS кажется невозможным, продолжает строить URL SVN + SSH и запрашивать учетные данные для него. Как это происходит с Subclipse? –

+3

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

4

Внутри Eclipse Navigator, если вы щелкните правой кнопкой мыши название проекта, появится подменю. В этом подменю выберите команду «Команда», которая предоставит некоторые дополнительные параметры меню. Выберите «Swich to another Branch/Tag/Revision ...» и появится окно, позволяющее указать новую ветку или в вашем случае новое местоположение репозитория.

+0

У меня есть честь комментировать, поэтому я укажу, что комментарий Штефана ниже (и принятый ответ Люка выше) верны. –

+0

Я пробовал это, и он не работал: SVN Swtich столкнулся с проблемой. org.tigris.subversion.javahl.ClientException: svn: ... не тот же репозиторий, что и ... – PiTheNumber

13

Не используйте параметр «Команда/переключатель», а скорее переходите на «обзор хранилища SVN» и изменяете местоположение URL-адреса в свойствах местоположения вашего репозитория. Работает как очарование Индиго - используя Subversive в моем случае.

При использовании Subversive это покажет предупреждение «Прилагаемые проекты будут перемещены, потому что корневой URL репозитория отличается от ранее введенного« », который именно вы хотите. Обязательно откройте все проекты, которые хотите переместить, прежде чем делать это.

При получении «Не удается переместить подключенные проекты» с «Переселение не может быть выполнено, так как новый URL относится к другому хранилищу» то, возможно, ваше хранилище корень не магистральным/метки/филиалы папок или имеет такие папки в подпапках. Затем на вкладке «Дополнительно» может помочь отключить параметр «Включить определение структуры».

Если вы получаете «Переселение не может быть выполнена, так как новый URL ссылается на хранилище, которое не является действительным (неверный URL или учетные данные, указанные)» затем также убедитесь, корневой путь в новом хранилище URL совпадает с корнем старый URL. (Другими словами: убедитесь, что /new/path на скриншоте выше имеет те же подпапки, что и старый URL.)

+1

Это правильный ответ с новыми установками Eclipse. –

0

Возможно, вы сможете просто заменить имена серверов в DNS; это может быть проще, чем переключить все рабочие копии.

10

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

Затем щелкните правой кнопкой мыши по проекту -> team -> share -> на новый SVN.

Вот и все!

+0

+1 Помогли много! – pwagner

+2

Когда я сделал этот метод, я потерял всю историю ... – gordon613

3

Вы можете сделать следующее:

Перейти к проекту Проводник -> правой кнопкой мыши на вашем проекте -> Команда -> переключатель ... и теперь выберите новый URL.

Thats all!

1

Я не мог переехать из своего затмения. У меня разные проекты в разных филиалах и тегах (только для чтения, это только для сравнения разных версий) одного и того же репозитория. Когда ip нашего svn-сервера изменился, я мог бы переместиться через TortoiseSVN, но не из Subclipse.

Переход от http://oldserver/svn/PROJECTNAME к http://newserver/svn/PROJECTNAME я получаю:

org.apache.subversion.javahl.CientException: Invalid operation on the current working directory 
svn: Cannot relocate 'E:\…\workspaces\PROJECTNAME\tags\modulename\2.4.007\base' as it is not the root of a working copy; try relocating 'E:\…\workspaces\PROJECTNAME\tags\modulename\2.4.007' instead 

Хорошо, но у меня нет контроля над этим. Я закончил с обходным путем с моим файлом hosts.

0

В Eclipse перейдите к Окно -> Перспектива -> Открытая перспектива -> Другое -> Хранилище SVN Exploring. Нажмите Ok

Затем щелкните правой кнопкой мыши на репозитории, который вы хотите изменить, -> Свойства местоположения.

Измените настройку URL-адреса.

Вот и все!

Смежные вопросы