2013-02-27 2 views
2

Я пытаюсь объединить две ветви с Tortoise SVN и получить ошибку как в тестовом режиме, так и в реальном слиянии. ошибка:Ошибка Tortoise SVN при слиянии

Command: Merging from svn://[IP Address]/Folder1, revision HEAD to svn://[IP Address]/Folder2, revision HEAD into C:\code\Folder2, respecting ancestry, Test Only 
Error: Unable to connect to a repository at URL 
Error: 'svn://[IP Address]/Folder1' 
Error: Network connection closed unexpectedly 
Completed!: 

Поиск для этого, я нашел много информации о SVN + SSH конфликтующей с PuTTY, но это не моя проблема, как я не даже PuTTY установлен на этой машине. Я могу проверить, проверить, просмотреть и вообще работать с обоими ветвями, это единственные слияния, которые дают мне эту ошибку, и я не могу найти что-либо в Интернете, которое мне помогает. Кроме того, я попытался удалить и переустановить, а также отбросить несколько версий, но не повезло. Кто-нибудь знает, почему?

ответ

2

Когда Tortoise выполняет слияние, он будет использовать свойство mergeinfo, чтобы определить, какие ревизии следует объединить, если оставить поле редактирования пустым. Итак, вы «разблокируете» ревизию, просто слейте ее явно.Tortoise не перечисляет уже объединенные версии в журнале.

Tortoise может снова записать слияние в mergeinfo, так что посмотрите на свойства svn каталога после этого, чтобы узнать, не делает ли это (и отредактирует дополнительный вход - хотя я думаю, что сервер сделает это, его проще сделать это иногда вручную).

Альтернативный способ - посмотреть свойство mergeinfo и посмотреть, не указана ли эта ревизия, если да, удалите ее и зафиксируйте. Затем повторите слияние, и оно должно работать так, как вы ожидаете.

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

+0

Забыл добавить это раньше: повторная установка версии на последнюю, зафиксированную для старой ветви, сделала трюк. Хотя вы явно не указали это в своем ответе, ответ привел меня к этой проблеме. –

0

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

Также убедитесь, что у вас есть обновленный клиент SVN. Кроме того, вы должны попробовать другой SVN-клиент, если вы получите ту же ошибку.

И вы можете запустить CLEAN в репозитории, используя Tortoise. Большинство ошибок, которые я нахожу, можно решить простым запуском команды CLEAN.

Последний совет: попробуйте запустить команду на другом компьютере, отключите брандмауэры и антивирус.

0

Когда вы сливаетесь, вам нужна чистая проверка того, с чем вы сливаетесь. Затем вы объединяете URL-адрес объединения с в своем рабочем каталоге.

К счастью, TortoiseSVN имеет клиента командной строки Subversion, команду svn. Всякий раз, когда у вас есть проблемы с чем-то, я рекомендую вам попробовать его с клиентом командной строки, потому что он обычно показывает вам, где может быть ошибка.

Возможно, вам понадобится поставить PATH клиенту командной строки в переменную среды PATH, но он должен находиться в каталоге C:\Program Files\TortoiseSVN\bin (или там, где был установлен TortoiseSVN).

Попробуйте в командной строке:

C> cd %TO_YOUR_DIRECTORY% 
C> svn st <==== You should see nothing under here. No 'M'odified files. No 'A'dded files. 
C> svn up <==== Make sure your working directory is completely up to date. 

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

C> svn co svn://url/Folder1  <=== Merging to here 

После того как вы удовлетворены тем, что все чистое, выполните слияние из командной строки.

C> svn merge svn://url/Folder2 <=== This is where you're merging from. 

Это даст вам лучшее представление о том, что происходит. Мне нравится TortoiseSVN, но иногда удобство и простота использования просто мешают.

Кстати, проверьте svn help merge, чтобы просмотреть все параметры командной строки. Сначала попробуйте, не забудьте убедиться, что вы не получите ту же ошибку, что и в прошлый раз, и как только вы это подтвердите, вы можете сделать svn revert -R ., а затем повторите попытку.

+0

Всё чистое, инструмент командной строки запускает слияние сразу без признаков ошибки в черепахе. –

+0

@Tom Пробовал ли вы снова в TortoiseSVN или просто слияние с командной строкой? –

+0

Я не закончил его с командной строкой (около 100 файлов, и мне приходится вручную проверять каждый из-за «конфликтов», которые должны быть в порядке), а черепаха все равно не будет работать. Я также пробовал другие клиенты SVN и получил смешанные результаты от прямых сбоев до сообщений «несовместимой версии». –

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