Заставить команду svn checkout перезаписать текущие файлы


Я добавляю существующий сайт в SVN.

файлы уже существуют на веб - сервере, и теперь идентичные копии (- файлы конфигурации) существуют в репозитории.

Я хочу преобразовать каталог веб-сервера в рабочую копию SVN, но когда я запускаю:

svn checkout http://path.to/svn/repo/httpdocs .

Я получаю сообщение об ошибке:

svn: не удалось добавить файл": объект с тем же именем уже существует

Как мне сказать SVN, чтобы просто перезаписать эти файлы чье содержание то же самое?

5 60
svn

5 ответов:

попробовать . svn help checkout дает подробности.

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, используйте технику копирования/вставки Брайана.