(已关闭)如何使用pysvn获取一个文件的所有版本

时间:2013-09-23 15:28:11

标签: python file svn revision pysvn

好吧,我的老板让我这样做: 检查并找到变体的初始化句柄的修订版。

但有数以千计的变化。

我现在可以使用client.diff,但是如何获得一个文件的所有版本?

1 个答案:

答案 0 :(得分:0)

您需要修订号列表吗?如果是,请使用Client.log()功能。它将返回指定文件的所有修订的列表。

In [48]: url='http://svn.apache.org/repos/asf/httpd/httpd/trunk/README'

In [49]: log = c.log(url)

In [50]: [x.revision.number for x in log]
Out[50]: 
[1209505,
 1209499,
 1150179,
 1129808,
 739831,
 494716,
 490083,
 350202,
 106103,
 97800,
 94766,
 94066,
 92186,
 91989,
 90516,
 90357,
 90149,
 89992,
 87515,
 87481,
 87473,
 87470]

或者,如果您需要文件的每个修订版的实际内容,请尝试:

all_versions = { x.revision.number : c.cat(url, x.revision) for x in c.log(url) }