удаленное слияние SVN - PullRequest
3 голосов
/ 29 июня 2011

При попытке объединить ветку в магистраль с

svn merge "$SVN_ROOT/trunk@HEAD" "$SVN_ROOT/branches/foo@HEAD"

я получаю следующую ошибку:

svn: '/' is not a working copy

Нужна ли рабочая копия?

Ответы [ 3 ]

7 голосов
/ 29 июня 2011

Да, вам нужен местный заказ.Я рекомендую следующие шаги:

svn co https://foo.bar.com/subversion/project/trunk project
cd project
svn merge https://foo.com/subversion/project/trunk https://foo.com/subversion/project/branches/DEV
svn st

Если есть какие-либо конфликты, вы можете разрешить их с помощью:

svn resolve

Передать изменения:

svn commit -m "Merged DEV to trunk."
3 голосов
/ 29 июня 2011

Обратите внимание, что делает команда svn merge:

svn merge - применить различия между двумя источниками к пути рабочей копии.

Форма, которую вы используете:

svn merge sourceURL1[@N] sourceURL2[@M] [WCPATH]

[WCPATH] является необязательным, и если его опустить, предполагается, что он равен . (текущий каталог) Вот что происходит в вашем случае.

http://svnbook.red -bean.com / о / 1,5 / svn.ref.svn.c.merge.html

1 голос
/ 29 июня 2011

Да, вы делаете - извините. Вполне возможно, что слияние вызовет конфликты, которые вам нужно будет отредактировать и разрешить вручную (плюс я чувствую, что код diff / merge есть только в клиенте svn, а не на сервере - хотя на 100% в этом не уверен) , Так что вам нужно проверить и сделать слияние локально:

svn co "$SVN_ROOT/trunk"
cd trunk
svn merge "$SVN_ROOT/branches/foo"
svn commit

и т.д.

...