Python 在SVN工作副本中查找具有给定SVN URL的文件

Python 在SVN工作副本中查找具有给定SVN URL的文件,python,svn,pysvn,Python,Svn,Pysvn,给定Subversion工作副本中的起点(例如,当前工作目录)和目标SVN URL,我希望在工作副本中找到具有该SVN URL的文件 例如,给定此当前目录: c:\Subversion\ProjectA\a\b\c\ 其中包含以下SVN URL: https://svnserver/svn/ProjectA/trunk/a/b/c/ 我想在硬盘上找到具有以下目标SVN URL的文件: https://svnserver/svn/ProjectA/trunk/a/x/y/test.txt 在

给定Subversion工作副本中的起点(例如,当前工作目录)和目标SVN URL,我希望在工作副本中找到具有该SVN URL的文件

例如,给定此当前目录:

c:\Subversion\ProjectA\a\b\c\
其中包含以下SVN URL:

https://svnserver/svn/ProjectA/trunk/a/b/c/
我想在硬盘上找到具有以下目标SVN URL的文件:

https://svnserver/svn/ProjectA/trunk/a/x/y/test.txt
在本例中,这将是:

c:\Subversion\ProjectA\a\x\y\test.txt
首先,SVNAPI是否提供了这样一个函数?第二,如果没有,什么是一个好的可靠(跨平台)方法来实现它


Python是我的目标语言,我使用pySvn,尽管本地Python SVN绑定可以作为替代。

Subversion不使用从url到工作拷贝位置本身的反向映射。检查url使用情况最稳定的方法是对工作副本执行递归“svn info”调用

这将为您提供所有文件和目录的url,您可以自己进行匹配

您可以通过尝试将URL映射到本地路径并只查看合理的位置来对此进行优化,但您将错过由“svn开关”创建的其他位置

我不知道“svn info”在python绑定中是如何映射的,但在客户端类上很可能有一些info2()函数可以使用