2013-04-26 113 views
3

我试图在svn根目录下找到特定目录的最新版本号,而无需创建工作副本。我知道许多应用程序可以做到这一点,但我需要用python以编程方式获取信息。pysvn获取特定目录(不是头)的最新版本号

我曾尝试:

myUrl = "https://[email protected]/mydir"  
rev = client.info(myUrl).revision.number 

,它告诉我,这是不是工作拷贝。

我想:

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

,这让我的存储库的头revsion数量不特定目录中的最新版本。

我试过的其他一些方法给了我相同的问题。

有人想过这个吗?

回答

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 
+0

我举双手赞成在挖掘出合适的参数,使其工作您的耐心:

我解决它。谢谢。我会在今天晚些时候或周一放假,并在我看到它工作时给你梦寐以求的'支票'(就像我确信它会这样)。 – BillR 2013-06-21 16:05:18

3

我有同样的问题(主加梅斯解决方案并没有为我工作)。

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