Я хочу проверить состояние файлов в моей рабочей копии 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)}'