2013-04-26 111 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