2011-08-02 9 views
0

SVNリポジトリを歩き回り、既存のすべてのブランチまたはタグを吐き出すことができるSVNクローラはありますか? PerlまたはPython SVNクローラ

好ましくはPerlやPythonで

...

答えて

6

SVNタグとブランチは通常、特定の命名規則に従って、ディレクトリだけです。あなたは簡単のようなperlでそれらを得ることができます:ここで

my @branches = `svn ls YourRepoBaseURL/branches`; 
chomp @branches; # remove newlines 
chop @branches; # remove trailing/
my @tags = `svn ls YourRepoBaseURL/tags`; 
chomp @tags; 
chop @tags; 
+0

おかげで、私は必要なもの静かではない... 我々は、巨大なレポを持っていますそれぞれ独自のttb構造を持つ何百ものプロジェクトがあるので、私はそれを通ってすべてのオープンブランチを見つけ出す必要があります... これは私にperlの出発点を与えます... – PWFraley

1

パイソンでSVNリポジトリ内のファイルに関する情報を印刷するには少し抜粋です:

# svncrawler.py 
import os 
import sys 
import pysvn 

svn_client = pysvn.Client() 

for file_status in svn_client.status(sys.argv[1]): 
    print u'SVN File %s %s' % (file_status, file_status.text_status) 

はこのようにそれを呼び出します。

python svncrawler.py my_repository 

タグやブランチを印刷するだけで簡単に変更できます。

0

すべての助けのおかげでは、ここで私はあなたの助けを借りてpythonで思い付いたものです。回答のため

# -*- coding: utf-8 -*- 
import os 
import sys 
import pysvn 
svnclient = pysvn.Client() 
projects = svnclient.list(sys.argv[1]) 
for project_path, project_info in projects: 
    try: 
     project_branches = svnclient.list(project_path.path + '/branches/') 
     if (len(project_branches)>2): 
      for branch, info in project_branches: 
       print branch.path 
    except: 
     pass 
関連する問題