如何在subversion服务器中搜索文件?

lam*_*cro 18 svn version-control find

有没有办法在subversion存储库中搜索文件?

类似于Unix' find命令的东西,我可以用它来找到存储库中文件的位置.

我知道有svn list,但这给了我一个目录中所有文件的列表.我想找到一个文件所在的目录.

Red*_*yph 26

您可以在服务器上使用以下命令和grep:

svnlook tree --full-paths <repository path> | grep <file>
Run Code Online (Sandbox Code Playgroud)

如果您需要查看大型存储库,那么这是最快的选择.

如果您只能访问客户端,请再次使用grep:

svn list -R <URL> | grep <file>
Run Code Online (Sandbox Code Playgroud)

应该做你需要的.

两者都将通过目录进行递归,但是客户端可能会从存储库的根目录开始,但由于信息必须通过网络(可能),因此速度会慢一些.

编辑:此外,两者都为您提供了查看过去修订版的选项(如果文件被删除):

  • svn list -R -r <revision/revision range> <URL>
  • svnlook tree -r <revision> <path>.

只需输入svn help listsvnlook help tree了解更多详情.