Как удалить файлы из SVN, которые уже были удалены из FS?

Использование TortoiseSVN в Windows, как мне удалить файлы из репозитория, которые уже были удалены в файловой системе? Я ожидаю, что они появятся как "отсутствующие" или "удалены" в моем следующем коммите, но это, похоже, не так.

В Linux/Mac я просто запускаю эту команду:

svn st | grep ^! | cut -b7- | xargs svn delete

-Крис

Ответ 1

Для удаления файла вам необходимо использовать "Tortoise svn → delete".

Если вы удалили напрямую по ошибке, сделайте обновление svn, чтобы вернуть файл, а затем выполните "tortoise svn- > delete"

: -)

Ответ 2

Щелкните правой кнопкой мыши и откройте браузер репозитория TortoiseSVN. Вы увидите файл в репо и можете удалить его напрямую.

Ответ 3

Файлы отображаются как "отсутствующие" в диалоговом окне фиксации TortoiseSVN только в том случае, если папка, в которой они были удалены, имеет версию и все еще присутствует. Если вы удалили всю папку, она не будет отображаться как отсутствующая.

Ответ 4

Если вы случайно удалили файл (без использования svn), вы можете просто вернуть эту модификацию, чтобы вернуть файл, а затем удалить его с помощью svn. Или установите параллельную командную строку svn и используйте ее для удаления:)

Ответ 5

Обычно я просто устанавливаю cygwin в windows и использую svn из командной строки.

Ответ 6

на linux, также рассматривая файлы с пробелами:

svn st | grep ^! | cut -b9- | sed 's/^/"/;s/$/"/' | xargs svn rm

это работает и на окнах, если вы устанавливаете git для окон (msys) или cygwin.

Ответ 7

Если вы удалили файл до его первого запуска, вы не сможете вернуться из репозитория, а затем вернуть файлы обратно в Tortise svn > delete, как это было предложено Indhu.

Я просто столкнулся с тем случаем, когда использовал Tortise svn → Add на нескольких файлах, а затем удалил файлы непосредственно перед тем, как я совершил. Вероятно, это необычный случай, но вот как я исправил свою проблему:

Сначала я создал новые (пустые) файлы с теми же именами файлов, что и "отсутствующие" файлы. Затем я сделал Tortise svn > Undo Add в каждом файле. Это заставило svn перестать пытаться зафиксировать файлы с этими именами.

Ответ 8

У меня была та же проблема с удалением файлов после "добавления", но до "фиксации"

Я исправил это при выполнении коммита, щелкнув правой кнопкой мыши по несуществующим файлам и выбрав "удалить" из этого меню. Затем совершите.

Ответ 9

Я знаю, что это мертвая нить, но у меня была та же проблема. Я "добавил" файлы, затем удалил их, прежде чем "зафиксировать". Из-за этого SVN не будет работать.

Я исправил это, щелкнув правой кнопкой мыши каталог, в котором находятся файлы, и выполнив SVN-> проверку на наличие изменений. Изменения вызвали диалог, который позволил мне выбрать отсутствующие файлы и удалить их из репозитория.

Надеюсь, это поможет кому-то и сэкономит время.