SVN Удалить с подстановочным знаком? - PullRequest
4 голосов
/ 15 апреля 2010

Я перевожу репозиторий VSS в SVN и случайно включил все файлы _vti_cnf, * .scc при первой регистрации Я хотел бы удалить их из SVN. (Не постоянно, конечно - просто в ГОЛОВУ). Рассматриваемое приложение довольно большое, и поиск и удаление этих файлов по папкам будет длиться вечно.

Предложения? Должен быть какой-то очевидный способ сделать это, но близость выходных мешает моим высшим функциям мозга.

Ответы [ 5 ]

4 голосов
/ 15 апреля 2010

Ответ Джонаса должен хорошо звучать. Может быть, вы получаете конфликты, потому что вы удаляете их на уровне файловой системы, минуя контроль Subversion?

Если вы можете использовать TortoiseSVN , у меня работает следующее (= я получаю необходимые команды в контекстном меню):

  • Открыть окно поиска
  • Поиск всех нежелательных файлов
  • Выберите их в списке
  • Щелкните правой кнопкой мыши
  • Выберите «TortoiseSVN»> «Удалить»
  • Передать изменения

Готово!

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

3 голосов
/ 29 апреля 2010

В командной строке Windows вы можете выполнить рекурсивный поиск файлов с помощью 'for' и вызвать 'svn delete' для каждого соответствующего файла,

C:\> for /r %i in (abc*def.sql) do svn delete %i

Примечание: помните, что в пакетном файле вам нужно заменить% i на %% i.

Чтобы узнать обо всех других флагах, которые вы можете использовать с 'for' (это швейцарский армейский нож поиска и анализа), используйте команду help

C:\> help for
2 голосов
/ 15 апреля 2010

Если вы работаете в Linux или Mac OS, вы можете выбрать find, например

$ find . -type d -name "_vti_cnf" -exec svn delete {} \;

Я больше не пользователь SVN (и никогда не использовал VSS), поэтому вы можете изменить командную строку и / или попробовать сначала -print.

1 голос
/ 15 апреля 2010

Разве вы не можете просто выполнить grep (или какую-либо другую операцию, которая находит файлы) * .scc файлов в извлеченной версии, удалить их, а затем зафиксировать?

0 голосов
/ 09 января 2012

Или используйте PowerShell:

Foreach ($file in Get-Childitem * -include "*.txt")
{
    svn del $file.name
}

где * .txt - подстановочный знак и * указывает текущий каталог, где искать файлы, которые будут удалены

...