посетить все каталоги под управлением версий

Есть ли find для find , которая позволила бы мне посетить все каталоги под управлением SVN? Я пытаюсь использовать ключ execdir для добавления в свойство svn:ignore в каждом из этих каталогов. Что-то вроде:

 find . -type d -execdir svn propset svn:ignore -F <((svn propget svn:ignore; echo "new ignore pattern") | sort -u) .' \; 

но я не могу ограничить find только каталогами SVN.

2 Solutions collect form web for “посетить все каталоги под управлением версий”

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

 find . -name .svn -type d -prune -execdir bash -c ' cd -P .. && propset svn:ignore -F <( (svn propget svn:ignore; echo "new ignore pattern") | sort -u) .' bash {} \; 

С более новыми, где у вас есть только один .svn и .svn db:

 find . -path '*/.svn/wc.db' -execdir bash -c ' cd -P .. && sqlite3 .svn/wc.db "select local_relpath from NODES where kind == \"dir\"" | while IFS= read -r dir; do [ -d "$dir" ] && propset svn:ignore -F <( (svn propget svn:ignore "$dir"; echo "new ignore pattern") | sort -u ) "$dir" done' bash {} \; 

В конце концов, я использовал следующий скрипт. Папка .svn должна быть явно исключена, так как svn info .svn имеет код выхода 0 и смущает скрипт.

 #!/usr/bin/env bash if [ $# -ne 1 ] then echo "usage is $0 <new ignore pattern>" else PATTERN=$1 for d in $(find . ! -name ".svn" -type d) do svn info "$d" &> /dev/null if [ $? -eq 0 ] then svn -q propset svn:ignore -F <((svn propget svn:ignore ; echo "$PATTERN") | sort -u) "$d" fi done fi 
  • Нужна помощь с скриптом оболочки, используемым для работы cron
  • Кошка пишет текст с «$» внутри
  • Найти отличия в файле и сортировке файла по ключу
  • Как получить путь, индекс строки и содержимое строки в оболочке bash?
  • Loop в WildCard как вход скрипта
  • Правильное расположение трубопроводов и перенаправление вывода в find -exec?
  • Как получится, когда x = abc, ] && echo yes || эхо не возвращается?
  • Как создать структурированный список всех файлов и каталогов в определенном каталоге (рекурсивно)?
  • Передача аргументов в скрипт awk
  • Используя cURL, как я могу получить числовую строку, содержащую запятые и пробелы, и преобразовать их в строку NON COMAFIED
  • Разбор строки по awk и получить только элементы без труб или полуколонок
  • Linux и Unix - лучшая ОС в мире.