最近我的一些文件已停止显示为在SVN中被修改,即使它们是。 svn status
只显示没有修改过的内容。但并非所有文件都被忽略。似乎是随机发生的。
是否有一种简单的方法可以强制它仔细检查文件,注意是否有更改?
甚至会导致这个问题?
答案 0 :(得分:2)
您使用的是Subversion客户端或TortoiseSVN的命令行版本吗?有时,TortoiseSVN图标不一定准确显示。
如果您正在使用命令行,则可以使用svn status -v <fileName>
命令。这将显示文件的状态,无论其是否已被修改或忽略。状态显示在第一列中。空白条目表示该文件位于Subversion中,但未进行修改。 I
表示该文件不在Subversion中,但被忽略(这是您设置的)。修改了M
,添加了A
并删除了D
。
详细设置将显示已签出的修订版本,上次更改的修订版本,最后一次更改的人员以及文件的名称。
如果您正在使用TortoiseSVN,则可以选择安装命令行客户端。我总是建议用户这样做。
好的,我假设如果文件丢失,可能会以稀疏结帐结账。或者,文件已添加,但尚未显示在您的工作目录中。在这种情况下,请执行svn update
。这会将文件更新为最新版本,如果自上次签出后添加了文件,则会将该文件添加到工作目录中。这可能接近您所说的强制结帐。您还可以指定--set-depth
设置以覆盖可能的稀疏结帐。使用它永远不会伤害:
$ svn update --set-depth=infinity
这会将所有内容更新到最新版本,并确保在您的工作副本中签出 所有 。这将更新您已修改过的文件,但会尝试不更改您已修改的行。