Ответ 1
Попробуйте параметр --force
. svn help checkout
дает детали.
Я добавляю существующий сайт в SVN.
Файлы уже существуют на веб-сервере, и теперь в репозитории существуют идентичные копии (файлы конфигурации).
Я хочу преобразовать каталог веб-сервера в рабочую копию SVN, но когда я запустил:
svn checkout http://path.to/svn/repo/httpdocs .
Я получаю сообщение об ошибке:
svn: Не удалось добавить файл '': объект с тем же именем уже существует
Как сообщить SVN просто перезаписать те файлы, содержимое которых одинаково?
Попробуйте параметр --force
. svn help checkout
дает детали.
svn checkout --force svn://repo website.dir
затем
svn revert -R website.dir
Будет проверяться поверх существующих файлов в 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, используйте метод копирования/вставки Брайана.