2016-11-07 7 views
0

У меня есть настройка хранилища SVN, и у нее есть около 15 разных проектов. Каждый проект имеет сходную структуру т.е.SVN: список всех ветвей всех проектов в репозитории

ProjectOne/ 
      tags/ 
      branches/ 
      trunk/ 

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

ответ

0

svn list команда. Поскольку вы уже знаете URL-адреса ваших репозиториев и проектов, просто запустите его так: svn info https://svn.example.com/MyProject1/branches.

Вы можете автоматизировать его с помощью PowerShell. Вот два примерных примера.

  • Использование foreach loop для автоматизации работы svn list:

    $repos = "MyProject1", "MyProject2", "MyProject3", "MyProject4", "MyProject5" 
    $rootURL = "https://svn.example.com/" 
    
    foreach ($repo in $repos) { 
    Write-Host -ForegroundColor Cyan "Repository: $rootURL/$repo `nBranches:" 
    svn list $rootURL/$repo/branches 
    } 
    
  • Используйте xml'ed output of svn list и разобрать выход с Select-XML. Вы можете настроить команду для получения последней версии, автора и даты & времени.

    $repos = "MyProject1", "MyProject2", "MyProject3", "MyProject4", "MyProject5" 
    $rootURL = "https://svn.example.com/" 
    
    foreach ($repo in $repos) { 
    Write-Host -ForegroundColor Cyan "Repository: $rootURL/$repo `nBranches:" 
    ([xml](svn list $rootURL/$repo/branches --xml)).SelectNodes("//lists/list/entry").Name 
    } 
    

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

0

Я считаю, что это ответ, который вы ищете:

svn ls URL-OF-REPO 

и найти URL прямого РЕПО (Если вы не знаете, это уже есть), вы можете использовать:

svn info . 

внутри «текущего» каталога SVN.

Альтернативно и более сложно, вы можете CLI-программу вывода на регулярное выражение в URL тоже, как предложено в другой публикации:

svn info | grep URL | sed 's/URL: //g' 

Посмотреть эти другие сообщения StackOverflow для получения дополнительной информации. Надеюсь это поможет!

  1. How to list all files in a remote SVN repository?
  2. How to get svn remote repository URL?