создать структуру папок на основе файла

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

/components/intmodules/
/components/ext/modules/EmailConn Runtime/
/components/emailconn/
/components/ftpconn/
/components/
/redist/

Теперь я хочу, чтобы эта структура папок была создана в файловой системе с использованием обновлений svn. Все папки должны быть извлечены с помощью --depth files, кроме самых глубоких (не компонентов), они должны быть извлечены с помощью --depth infinity.

Как бы я этого добился. Как я могу перебирать папки и извлекать/обновлять эти папки, в том числе с пробелами в имени?


person Excel20    schedule 20.09.2011    source источник
comment
Как мы можем узнать, какие из них должны получить infinity? Кроме этого, достаточно простого цикла while read dir.   -  person tripleee    schedule 20.09.2011


Ответы (1)


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

Тем не менее, в репозитории Subversion есть пример сценария для проверки рабочей копии смешанной глубины на основе входного файла, который описывает то, что вы хотите. Я бы посоветовал вам использовать этот сценарий для проверки и настройки вашего сценария для создания формата файла, который требуется сценарию. Это очень похоже на то, что вы показали выше, поэтому не должно быть слишком сложно.

http://svn.apache.org/repos/asf/subversion/trunk/tools/client-side/svn-viewspec.py

person Mark Phippard    schedule 20.09.2011
comment
Спасибо @Mark, это работает просто отлично! Я могу использовать этот скрипт для создания файла спецификаций представлений и получить заказ именно так, как я хочу. echo Формат: 1 › viewspec.txt echo URL-адрес: $url ›› viewspec.txt echo ›› viewspec.txt awk '{if ($0 == /components/) {print .$0~} if ($0 != /components/ ) {print .$0**}}' output-all.log ›› viewspec.txt echo ./~ ›› viewspec.txt - person Excel20; 21.09.2011