Perl или Python SVN Crawler - PullRequest
       5

Perl или Python SVN Crawler

0 голосов
/ 02 августа 2011

Существует ли сканер SVN, который может проходить через репозиторий SVN и выплевывать все существующие ветви или теги?

Желательно в Perl или Python ...

Ответы [ 3 ]

6 голосов
/ 02 августа 2011

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;
1 голос
/ 02 августа 2011

Вот небольшой фрагмент для печати информации о файлах в репозитории SVN в python :

# 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)

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

0 голосов
/ 10 августа 2011

Спасибо за помощь, вот что я придумала в 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...