Ошибка svn 1.7 E200009 Не удалось добавить все цели, поскольку некоторые цели уже были версией
Я сделал чистую проверку репозитория, и каждый день у меня есть задание hudson, которое запускает script для резервного копирования конфигурации. Часть script заключается в добавлении *.xml
$ svn add *.xml
svn: warning: W150002: '/data/hudson/config.xml' is already under version control
svn: E200009: Could not add all targets because some targets are already versioned
svn: E200009: Illegal target for the requested operation
Предупреждение прекрасно, потому что некоторые из файлов xml уже находятся под управлением версиями, но я не понимаю, почему я получаю ошибку E200009
. Если добавить нечего, ошибки не должно быть.
Ответы
Ответ 1
Похоже на правильное поведение для SVN 1.7. Альтернативой является добавление только неверсированных файлов:
svn st *.xml | grep ? | tr -s ' ' | cut -d ' ' -f 2 | xargs svn add
Однако возможно, вам нечего добавить, так что вы получите
svn: E205001: Try 'svn help' for more info
svn: E205001: Not enough arguments provided
Связанный вопрос: Добавьте все неверсированные файлы в Subversion, используя одну команду Linux
Ответ 2
svn add something --force
разрешит ошибку E200009. В вашем случае svn add *.xml --force
решит вашу проблему
Ответ 3
Как и ответ Сиднея, у меня есть еще одна однострочная команда:
svn st | grep ^? | awk '{print $2}' | xargs svn add