файлы попадают в неправильный каталог после копирования SVN - PullRequest
3 голосов
/ 21 мая 2009

Я хочу скопировать транк одного проекта в другой, поэтому я использую следующую команду:

svn copy -m "test" (URL проекта из) / Trunk / (URL проекта) / Trunk /

Файлы оказались в (URL проекта) / Trunk / Trunk / вместо (URL проекта) / Магистраль / куда я хочу, чтобы они пошли.

Я сделал что-то не так? Что мне делать, если я хочу, чтобы файлы в (URL проекта) / Trunk /? Выполнение следующих действий не имеет смысла:

svn copy -m "test" (URL проекта из) / Trunk / (URL проекта) /

Ответы [ 5 ]

9 голосов
/ 24 декабря 2009

Кроме того, если вы создаете ветку (или «ветвление», которое для svn - просто причудливый термин для копирования), если вы будете активны и сначала создадите каталог ветки, вы получите ту же проблему.
Предположим, вы хотите перейти от старого подхода «одного каталога» к подходу «магистрального филиала».
Вы начинаете с http://my/path
и хотите перейти к такой структуре:
http://my/path/trunk
http://my/path/branches/foo и
http://my/path/branches/bar

Итак, если вы сначала создадите каталоги ветвей:
# svn mkdir http://my/path/branches
# svn mkdir http://my/path/branches/foo
# svn mkdir http://my/path/branches/bar
А затем попробуйте это:
# svn copy http://my/path/trunk http://my/path/branches/foo

'trunk' копируется в ветку :
# http://my/path/branches/foo/trunk/...

Если вы попытаетесь использовать символы подстановки, ну, символы подстановки не будут работать :
# svn copy http://my/path/trunk/* http://my/path/branches/foo

Единственный способ , все это работает, НЕ mkdir branches/foo, но сделать это напрямую:
# svn copy http://my/path/trunk http://my/path/branches/foo

Это работает.

1 голос
/ 21 мая 2009

Вы должны сделать svn copy -m "test" (url of project from)/Trunk/ (url of project to)/, чтобы скопировать транк в проект, поскольку вы копируете всю папку.

Я не уверен, разрешены ли подстановочные знаки в svn copy, чтобы сделать что-то вроде / trunk / *, вы должны проверить документы.

0 голосов
/ 19 апреля 2010

Что случилось со мной, так это то, что существует путь назначения, в результате которого SVN копировал в каталог

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

Возможно, мне следовало сделать svn-копирование с параметром force, но я пошел svn-rm, а затем svn-копирование.

0 голосов
/ 21 мая 2009

У меня была эта проблема, когда я начинал с SVN.

ИМХО, вы, вероятно, запутались в своих URL и рабочем каталоге. Если вы ветвитесь с

svn copy -m "I want a branch man" http://theproject/proj/trunk http://theproject/proj/branches/today

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

svn switch http://theproject/proj/branches/today .

Но, как вы это указали, все было бы иначе

svn copy -m "I need another trunk yo" http://theproject/proj/trunk http://theproject/anotherproj/trunk

тогда вам нужно переключиться на нужную директорию

svn switch http://theproject/anotherproj/trunk .

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

Другими словами, этот транк / транк происходит постоянно, но когда вы изучите URL-адреса своего хранилища и рабочий каталог (используйте SVNX в OSX или TortoiseSVN в Windows), вы увидите, что это просто ваша путаница:)

0 голосов
/ 21 мая 2009

Если что-то в вашем месте назначения уже существует, вам нужно удалить его, прежде чем скопировать туда что-то еще. Также возможно, что svn copy - это не то, что нужно делать в вашем случае, но трудно догадаться.

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