2009-11-06 65 views
17

有没有办法在Subversion版本库中搜索文件?如何在Subversion服务器中搜索文件?

类似于Unix'find命令,我可以通过它找到存储库中文件的位置。

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

+0

你在哪个平台上运行? – 2009-11-06 13:37:39

+0

某些版本的Solaris。 – lamcro 2009-11-06 13:50:03

回答

25

您可以使用下面的命令,用grep的同时,在服务器上:

svnlook tree --full-paths <repository path> | grep <file> 

这是最快的选择,如果你需要寻找到一个大库。

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

svn list -R <URL> | grep <file> 

应该做你所需要的。

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

编辑:另外,无论是让你寻找到过去的修订选项(应将该文件删除):

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

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

+0

作为一个评论,我仍然希望有一个真正的“发现”命令,只是因为它是有道理的。 – RedGlyph 2009-11-06 13:49:12

+0

这可以用于分支机构/树干吗? – lamcro 2009-11-06 18:40:22

+0

是的,'svnlook'从根开始并列出_everything_。 'svn list'允许你选择开始点,就是你的仓库的名字(root)或者一个特定的子目录,比如一个分支。 – RedGlyph 2009-11-06 19:19:28

相关问题