У меня есть репозиторий SVN без директории транка.
Я хотел бы создать каталоги стволов и веток и переместить все мои файлы (в настоящее время в корне) в ствол.
Создание сундука работает просто отлично:
macbook[601] # svn mkdir trunk
A trunk
macbook[602] # svn commit trunk
Adding trunk
Committed revision 67.
переместить все в багажник не удалось:
macbook[604] # svn move * trunk
svn: Cannot copy path 'trunk' into its own child 'trunk/trunk'
есть ли способ сделать это без указания всех имен файлов и каталогов по отдельности?
Есть потоки, описывающие, как сделать это с TortoiseSVN, но я хотел бы знать, как это сделать с помощью командной строки svn.
Спасибо.
EDIT
W. Крейг, спасибо за быстрый и полезный ответ.
Я столкнулся с некоторыми осложнениями; возможно, кто-то может дать мне несколько советов о том, как их решить.
Я начал со всего современного, включая пустой каталог "trunk". У меня также было несколько файлов, которые не управляются SVN:
note: Прежде чем пытаться это сделать, я переместил некоторые файлы в подкаталог «notes» и успешно зафиксировал это изменение. Я могу дать более подробную информацию, если это будет полезно.
macbook[582] ~/dev/dictionary # svn stat
? vendor/plugins/redbox_broken
? config/database.yml
? lib/dict.rb.original
? public/javascripts/redbox.js.big
macbook[583] ~/dev/dictionary # ll
total 64
drwxr-xr-x 3 stupakov stupakov 102 Jun 17 22:05 MISC
-rw-r--r-- 1 stupakov stupakov 10011 Oct 18 2009 README
-rw-r--r-- 1 stupakov stupakov 307 Oct 18 2009 Rakefile
-rw-r--r-- 1 stupakov stupakov 9514 Jun 17 22:05 TO_DO.txt
drwxr-xr-x 7 stupakov stupakov 238 Mar 11 21:07 app
drwxr-xr-x 11 stupakov stupakov 374 Jun 5 16:02 config
drwxr-xr-x 7 stupakov stupakov 238 Jun 17 22:05 db
drwxr-xr-x 4 stupakov stupakov 136 Oct 18 2009 doc
drwxr-xr-x 6 stupakov stupakov 204 Oct 18 2009 features
drwxr-xr-x 17 stupakov stupakov 578 Jun 17 20:51 lib
drwxr-xr-x 4 stupakov stupakov 136 Apr 4 20:04 log
drwxr-xr-x 6 stupakov stupakov 204 Oct 18 2009 nbproject
drwxr-xr-x 9 stupakov stupakov 306 Jun 17 21:55 notes
drwxr-xr-x 11 stupakov stupakov 374 Oct 18 2009 public
drwxr-xr-x 15 stupakov stupakov 510 Oct 18 2009 script
drwxr-xr-x 13 stupakov stupakov 442 Oct 18 2009 spec
drwxr-xr-x 7 stupakov stupakov 238 Oct 18 2009 stories
drwxr-xr-x 9 stupakov stupakov 306 Oct 18 2009 test
drwxr-xr-x 7 stupakov stupakov 238 Feb 17 22:46 tmp
drwxr-xr-x 3 stupakov stupakov 102 Jun 17 22:05 trunk
drwxr-xr-x 5 stupakov stupakov 170 Apr 3 20:10 vendor
-rw-r--r-- 1 stupakov stupakov 1151 Sep 26 1998 whale.gif
macbook[584] ~/dev/dictionary # ll trunk
Я попытался "переместить" все svn в багажник.
macbook[585] ~/dev/dictionary # echo $(cat ~/flist)
README Rakefile app config db doc features lib log nbproject notes public script spec stories test tmp vendor whale.gif
macbook[586] ~/dev/dictionary # svn move $(cat ~/flist) trunk
Ответом от SVN был длинный список файлов, запланированных для добавления и удаления.
Затем я получил ошибку при попытке совершить это.
macbook[589] ~/dev/dictionary # svn commit -m "moving everything to trunk subdir"
Deleting README
Deleting Rakefile
Deleting app
Deleting config
Deleting db
Deleting doc
Deleting features
Deleting lib
Deleting log
Deleting nbproject
Deleting notes
svn: Commit failed (details follow):
svn: Item '/dictionary/notes' is out of date
А теперь у «заметок» есть конфликт
macbook[597] ~/dev/dictionary # svn stat notes
D C notes
> local delete, incoming edit upon update
D notes/HACKATHON
D notes/newsgroup_questions.txt
D notes/svn_rails.sh
D notes/mysql_notes.txt
D notes/HOW
D notes/css_notes.txt
Я попытался обновить «заметки» до более ранней версии, но конфликт не позволил этого:
macbook[606] ~/dev/dictionary # svn up notes -r 68
C notes
At revision 68.
Summary of conflicts:
Tree conflicts: 1
Затем я попытался «разрешить svn» конфликт:
macbook[612] ~/dev/dictionary # svn resolve --accept=working notes
Resolved conflicted state of 'notes'
macbook[613] ~/dev/dictionary # ll notes
macbook[614] ~/dev/dictionary # svn stat notes -v
D 68 70 stupakov notes
D 70 70 stupakov notes/HACKATHON
D 70 70 stupakov notes/newsgroup_questions.txt
D 70 70 stupakov notes/svn_rails.sh
D 70 70 stupakov notes/mysql_notes.txt
D 70 70 stupakov notes/HOW
D 70 29 stupakov notes/css_notes.txt
Я подумал, что должен вернуться, а не совершать запланированный ход на случай, если что-то еще испортилось, поэтому я сделал это:
macbook[630] ~/dev/dictionary # svn revert .
Однако добавления и удаления по-прежнему запланированы.
Буду признателен за любые предложения о том, как сделать следующее:
1) Привести мою локальную копию в состояние, в котором она находилась до выполнения команды "svn move list_of_dirs trunk"
2) Убедитесь, что каталог «notes» обновлен и не мешает «svn move»
3) Успешно переместить все каталоги из моего корневого каталога в «багажник»
Большое спасибо.