Как вывести список каталогов из хранилища Subversion с помощью CLI

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

svn list REPOSITORY_URL -R --depth=immediates

Например, с учетом следующего репозитория с некоторыми папками внутри, следующая команда:

svn list svn+ssh://user@serverdomain.com/var/www/vhosts/myrepository -R --depth=immediates

Перечислит все записи каталога первого уровня на консоли, например, следующий вывод:

first_folder/
second_folder/
third_folder/
fourth_folder/

Обратите внимание, что это произойдет в CLI, поэтому вы можете использовать его на другом языке программирования, взорвав разрыв строки и получив массив с именами каталогов. Стоит сказать, что вы можете перечислить другие уровни, а также делать это рекурсивно с --depth В качестве аргумента этот аргумент указывает Subversion ограничить область действия операции определенной глубиной дерева. Этот аргумент может иметь 4 возможных значения:

  • empty (только сама цель)
  • files (цель и любые непосредственные дочерние файлы ее)
  • immediates (цель и любые ее непосредственные дети)
  • infinity (цель и все ее потомки — полная рекурсия).

Например, если вы хотите перечислить абсолютно все каталоги (и подкаталоги) пути, вы можете изменить аргумент на бесконечность:

svn list svn+ssh://user@serverdomain.com/var/www/vhosts/myrepository -R --depth=infinity
Ссылка на основную публикацию
Adblock
detector