2016-11-07 9 views
0

私はSVNリポジトリをセットアップしていますが、これには約15種類のプロジェクトがあります。各プロジェクトは、私が何とかリポジトリ内のすべてのプロジェクトのために、すべての枝を一覧表示されて何をしたいのか、同様の構造、すなわち今SVN:リポジトリ内のすべてのプロジェクトのすべてのブランチを一覧表示する

ProjectOne/ 
      tags/ 
      branches/ 
      trunk/ 

を持っています。 これを行うために使用できるコマンドなどがありますか?またはプログラムで行っているのはここの唯一のオプションですか?

答えて

0

svn listコマンドがあります。リポジトリとプロジェクトのURLを既に知っているので、svn info https://svn.example.com/MyProject1/branchesのように実行してください。

PowerShellを使用して自動化することができます。ここに2つの大まかな例があります。

  • 使用foreach loopsvn 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 listSelect-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 
    } 
    

両方のスクリプトサンプルはHEADで(すなわち最新の)リビジョン存在のみブランチを表示することに注意してください。

0

私は、これはあなたが探している答えであると信じて:

svn ls URL-OF-REPO 

と(あなたはすでにそれを知っていない場合)REPOのURLを見つけるために、あなたが使用することができます。

svn info . 

"現在の" SVNディレクトリ内にあります。

また

、およびより複雑、することができますCLIプログラム別の投稿で提案されているように、あまりにもURLはRegexする出力:

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?
関連する問題