pysvn获取特定目录的最新修订号(不是头)

时间:2013-04-26 19:26:26

标签: python python-2.7 pysvn

我正在尝试在svn根目录中找到特定目录的最新修订版号,而无需创建工作副本。我知道许多应用程序可以做到这一点,但我需要以编程方式获取信息。

我试过了:

myUrl = "https://user@svnBranch/mydir"    
rev = client.info(myUrl).revision.number

它告诉我这不是工作副本。

我试过了:

myUrl = "https://user@svnBranch/mydir"
rev = client.revpropget("revision", url=myUrl)[0].number

它给了我存储库的head revsion编号,而不是特定目录中的最新版本。

我尝试过的其他几种方法也给了我同样的问题。

有人想出来了吗?

2 个答案:

答案 0 :(得分:4)

我遇到了同样的问题(Lord Gamez解决方案对我不起作用)。

我解决了它:

svnrev = client.info2(WORKING_COPY_DIR)[0][1]['last_changed_rev'].number

答案 1 :(得分:0)

我有同样的问题,我用pysvn客户端的info2函数解决了它:

def get_revision_number_of_directory(self, localPath):
    head_rev = pysvn.Revision(pysvn.opt_revision_kind.head)
    info = self.__client.info2(localPath, revision=head_rev, recurse=False)
    return info[0][1]['rev'].number