SVN считает, что файлы уже находятся под контролем версий

Так у меня есть две папки, которые я хочу добавить в новый репозиторий, но они отказываются добавлять, потому что они уже находятся под контролем версий. Я удалил все .SVN-папки в этих папках и их подпапках, но SVN все еще знает как-то. Как я могу увидеть, в каком РЕПО они думают, что они являются частью, сказать им, чтобы они не были там, и поместить их в новое РЕПО, не удаляя их или не перемещая их?

2 ответов


если вы удалили все .svn папки в локальной рабочей копии, он не должен быть версионным больше. Обратите внимание, что более старая версия SVN используется для создания скрытого .svn папке, во всех папках, а не только в корневой папке или вложенных.

вы также можете сделать export команда для создания полной копии без версии в целевом каталоге, чтобы избежать ручного удаления .svn папки.

еще одна проблема, которая может вызвать эту ошибку, заключается в том, что в новом репозиторий, у вас уже есть файлы или каталоги с тем же именем, что и каталоги/файлы, которые вы пытаетесь добавить. Хорошей практикой было бы импортировать файлы в пустой каталог, чтобы избежать конфликтов имен.

Итак, подводя итог, процедура будет выглядеть так:

  • экспортировать файлы из текущего репозитория или удалить все .svn папки вручную
  • создайте пустую папку в новом / целевом репозитории
  • выполнить извлечение из папки целевого репозитория в локальную копию
  • выполнить фиксацию, чтобы добавить все новые файлы

удалить .папки svn не будут работать, если эти файлы уже находятся в системе управления версиями. Вот что вы должны сделать:--1-->

(1) Удалите все папки, которые имеют проблемы или которые вы ранее удалили .папки SVN из.

(2) выполните обновление SVN, чтобы воссоздать эти папки и вернуть все в них (даже если вы удалите их на следующем шаге).

(3) Теперь удалите соответствующие папки.

(4) выполните SVN commit, который будет фиксировать удаление этих папок из репозитория. Теперь они исчезли из хранилища, как вы и хотели.

(5) Теперь вы можете снова создавать папки и делать все, что хотите - создавать из них новый репозиторий SVN; или повторно добавлять их в существующий репозиторий.

может показаться, что шаги (1)-(2) являются избыточными и ненужными; но, чтобы быть безопасным, вы должны сделать это в любом случае.