首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Perl或Python SVN Crawler

Perl或Python SVN Crawler
EN

Stack Overflow用户
提问于 2011-08-02 15:43:51
回答 3查看 733关注 0票数 0

有没有一个SVN爬虫,可以遍历SVN存储库,并吐出所有现有的分支或标记?

最好是用Perl或Python ...

EN

回答 3

Stack Overflow用户

发布于 2011-08-02 15:51:29

SVN标记和分支只是目录,通常遵循特定的命名约定。您可以很容易地在perl中获得它们,如下所示:

代码语言:javascript
复制
my @branches = `svn ls YourRepoBaseURL/branches`;
chomp @branches; # remove newlines
chop @branches; # remove trailing /
my @tags = `svn ls YourRepoBaseURL/tags`;
chomp @tags;
chop @tags;
票数 6
EN

Stack Overflow用户

发布于 2011-08-02 16:09:12

下面是打印python中SVN存储库中文件信息的一小段代码

代码语言:javascript
复制
# 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)

这样叫它:

代码语言:javascript
复制
python svncrawler.py my_repository

将其修改为只打印标记和分支应该很容易。

票数 1
EN

Stack Overflow用户

发布于 2011-08-10 14:38:01

感谢你的帮助,以下是我在python中得到的帮助:

代码语言:javascript
复制
# -*- 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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6908751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档