Использование команды sed в svn игнорирует обратную косую черту в каталоге

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

svn status "C:\Tools\Jenkins\" | grep "^!" | sed "s/^! *//g"

правильно находит файлы, которые я удалил вручную, в моем случае это jobs run_tests_on_master. Но когда я пытаюсь удалить каталог, используя:

svn status "C:\Tools\Jenkins\" | grep "^!" | sed "s/^! *//g" | xargs svn rm

Я получаю ошибку:

svn: E155007: 'C:ToolsJenkinsjobsrun_tests_on_master' is not a working copy

Похоже, что каталог не имеет обратной косой черты. Есть ли способ обойти это?

Всего 1 ответ


Следующий awk проверит каждую строку вывода svn чтобы увидеть, может ли он удалить восклицательный знак, за которым следуют пробелы в начале этой строки. Если это так, он выполнит svn rm в результирующей строке.

svn status 'C:ToolsJenkins' |awk 'sub(/^! */, ""){system("svn rm " $0)}'

Есть идеи?

10000