У меня была точно такая же проблема, и я решил ее, просмотрев несколько разных страниц (включая эту). Вот мое решение:
Примечание: Прежде чем начать, если вы планируете использовать svn switch
, чтобы сохранить свою рабочую копию и не проверять репозиторий, лучше убедиться, что ваша рабочая копия актуальна и имеет нет незафиксированных изменений.
Вкл с решением ...
//REPO_URL = The URL for the repo on the SVN server.
//In my case it was https://IP_ADDRESS:PORT/svn/my_repo
//Make the trunk dir in the root of your SVN repo
svn mkdir REPO_URL/trunk -m "making trunk dir"
//Move everything from your root dir to your new trunk dir
svn move REPO_URL/A_FOLDER REPO_URL/trunk/A_FOLDER -m "moving folders to trunk"
svn move REPO_URL/ANOTHER_FOLDER REPO_URL/trunk/ANOTHER_FOLDER -m "blah"
svn move REPO_URL/A_FILE.TXT REPO_URL/trunk/A_FILE.TXT -m "moving files to trunk"
//Keep going until you've moved everything from your root dir to the trunk dir...
Итак, теперь на вашем SVN-сервере все находится в папке транка. Классно!
Но мой репо 60 ГБ и на удаленном сервере. Я бы предпочел не проверять это снова. svn switch
позволит вам указать существующую рабочую копию для нового каталога trunk
, чтобы вы могли продолжить работу с имеющейся копией. Перейдите в корневую папку вашей рабочей копии и запустите svn switch REPO_URL/trunk --ignore-ancestry
. В нем должно быть указано At revision X
, где X
- это ревизия после перемещения всех ваших файлов из корневого каталога в каталог внешних линий. Это оно! Может быть, сделать обновление SVN для хорошей меры:)