我需要搜索Subversion存储库的所有修订版,以查找包含特定字符串的文件名和修订号.我知道这会在转储中发现:
svnadmin dump $REPO_PATH | grep -i "Verdana"
但输出太神秘了.输出将包含匹配的二进制文件块.
我一直在使用这样的命令来搜索项目当前工作副本中的字符串:
find . -name "*.css" -print0 | xargs -0 grep "Verdana"
输出的格式很有用,它给出了文件名和字符串出现的行:
./css/forms.css: font       : 12px Verdana;
有没有办法搜索SVN存储库的所有修订版,比如.css包含搜索字符串的所有文件?而不只是一个单词,而是带有通配符的字符串或像grep这样的正则表达式?
注意:我有Linux访问Linux服务器及其上的存储库.
另请注意:我不想搜索工作副本,我需要搜索所有修订版.
最简单(也是我发现的最有效)的方法,预先花费一点时间投入 - 将svn存储库克隆到git中,然后使用gitk搜索存储库.
由于整个存储库是在本地系统上,这让搜索无限快!
我曾经为大约30个开发人员管理一个大型的subversion存储库,他们经常来我的办公桌询问,"你能找到这个改变......"等等.我只是激发了gitk!
svn log因为它必须击中服务器,所以非常慢.此外,如果您有权访问服务器,您可能不得不设计一些| grep -v或类似的方法来清除所有.svn目录.
你有没有尝试过
svn log --verbose
在根目录上,打印每条日志消息和所有受影响的路径。它不会让您解析文件内容,但您至少能够搜索.css文件。
| 归档时间: | 
 | 
| 查看次数: | 13642 次 | 
| 最近记录: |