svn status不会显示已修改文件的列表

时间:2011-05-19 13:08:11

标签: svn status

我使用以下方法检查了dir中的一些文件:

svn co  <dir>

之后,我使用以下命令替换此目录中所有java文件中的一些文本:

find . -type f -print0 | xargs -0 sed -i "s/old/new/g"

现在,我解雇了这个命令:

svn status 

它不显示已更改文件的列表。 我可以看到所有java文件中的替换,但是在svn status命令中看不到这些文件的列表。

请帮忙。甚至svn也没有工作。

2 个答案:

答案 0 :(得分:6)

猜测一下,你的命令也会查看隐藏在.svn目录中的文件。可能会破坏很多东西。特别是如果您的存储库名称中包含文本“old”。 SVN不会喜欢这个!

它肯定会做的是更改.svn / text-base中的“base”文件。因此,就SVN而言,没有任何改变(它将当前目录与.svn中的文件副本进行比较,以查看已更改的内容)。

或者,完全可能是其他东西。

答案 1 :(得分:2)

给定的find命令肯定是错误的,因为你没有阻止find进入.svn文件夹,这是错误的。

This results in creating a new checkout from scratch. 

以下内容接近您的需求:

find . -type f -not -path "*\.svn*" -and -not -path "*/target*" -and -not -path "*/\.settings*" -name "*.java"

我建议通过IDE(Eclipse等)

来做这类事情