鉴于我在Windows上使用svn命令行,如何find文件被删除的版本号? 在Windows上,没有喜欢的东西像grep,我试图只使用命令行,没有TortoiseSVN。 提前致谢!
安装Cygwin。
我使用这个:
svn log -v --limit <nr> -v | grep -E '<fileName>|^r' | grep -B 1 <fileName>
哪里
fileName - the name of the file or any pattern which matches it nr - the number of latest revisions in which I want to look for
这将给你所有的行动(添加,删除,删除,修改)有关该文件的修订,但与grep
简单的调整,你可以得到修改只能删除。
(很显然,–limit是可选的,但是你通常会有一个关于你需要多深的搜索的概述。
日志是要看的地方。 我知道你不想听到这个答案,但这是你需要在SVN中查找被删除的文件的地方。
这是因为被删除的文件在被删除后是不可见的。 唯一可以找到它的存在的地方是在日志中,或者在删除之前取出先前的版本。
我知道处理这个问题最简单的方法就是离开命令行,使用TortoiseSVN等GUI工具。
TortoiseSVN将自己链接到标准的Windows文件资源管理器中,因此使用起来非常简单。 在回答这个问题的时候,你仍然会用它来查看日志,但是它会变得更加快速:
浏览到您想要检查的SVN文件夹。 然后右键单击文件夹图标,然后从上下文菜单中选择TortoiseSVN – > View Logs 。
您现在将会看到一个窗口,显示该文件夹中所做的所有修改。 特别是,很容易看到哪些修订版本有添加和删除,因为该列表包含每个修订版本的一组操作图标。 您可以双击修订以获取已更改文件的列表(如果只更改了一个文件,则直接进入差异视图)
所以你可以很容易地看到哪些修改有删除,你可以快速点击它们来找出涉及哪些文件。 它真的很容易。
我知道你在问关于命令行,但是对于这样的管理任务,GUI浏览器确实有意义。 与阅读隐藏文本的页面(无论您阅读文本多么精通)相比,它可以更快地看到发生了什么事情。