Заставить команду svn checkout перезаписать текущие файлы
Я добавляю существующий сайт в SVN.
файлы уже существуют на веб - сервере, и теперь идентичные копии (- файлы конфигурации) существуют в репозитории.
Я хочу преобразовать каталог веб-сервера в рабочую копию SVN, но когда я запускаю:
svn checkout http://path.to/svn/repo/httpdocs .
Я получаю сообщение об ошибке:
svn: не удалось добавить файл": объект с тем же именем уже существует
Как мне сказать SVN, чтобы просто перезаписать эти файлы чье содержание то же самое?
5 ответов:
svn checkout --force svn://repo website.dir
затем
svn revert -R website.dir
проверить поверх существующих файлов на сайт.реж., но не переписывать их. Затем вернуть их сохранность. Таким образом, вам не нужно принимать сайт вниз, чтобы завершить его.
Это можно сделать довольно легко. Все, что я сделал, это переместил существующий каталог, не под контролем версий, во временный каталог. Затем я проверил версию SVN на свое правильное имя каталога, скопировал файлы из временного каталога в каталог SVN и вернул файлы в каталог SVN. Если это не имеет смысла, пример ниже:
/usr/local/www mv www temp_www svn co http://www.yourrepo.com/therepo www cp -pR ./temp_www/* ./www svn revert -R ./www/* svn update
Я надеюсь, что это поможет и не уверен, почему просто простое обновление SVN не изменило файлы назад?
у меня не было 1.5 для меня, потому что я не контролирую компьютер. Файл, который вызывал у меня проблему, оказался А.jar-файл в каталог lib. Вот что я сделал, чтобы решить эту проблему:
rm -rf lib svn up
это основывается на ответе Неда. То есть: я просто удалил подкаталог, который вызывал у меня проблему, а не весь репозиторий.
вытяните из репозитория в новый каталог, а затем переименуйте старый в
old_crufty
, и новыеmy_real_webserver_directory
, и вы хорошо идти.Если вы хотите, чтобы каждый файл был в SVN, то это хороший способ проверить вашу теорию. Если вы хотите, чтобы некоторые файлы не были в SVN, используйте технику копирования/вставки Брайана.