我已经从本地SVN:服务器检出了一个目录。更改某些文件后,我想提交更改。我在这里得到了问题:
svn stat
未将文件列为已修改文件。svn cat
显示的内容明显不同于工作副本中的文件svn diff
没有任何差异svn update
告诉我At revision 156.
svn stat hello.js
显示了这一点:
Path: hello.js
Name: hello.js
URL: svn:///Projects/Sample/hello.js
Repository Root: svn:///Projects
Repository UUID: 2e99062c-3216-5d44-9338-d29899e4dc4b
Revision: 156
Node Kind: file
Schedule: normal
Last Changed Rev: 153
Last Changed Date: 2011-06-13 10:45:42 +0200 (Mon, 13 Jun 2011)
Text Last Updated: 2011-06-13 09:54:07 +0200 (Mon, 13 Jun 2011)
Checksum: 4fed4d6472b30096cd00f8e1229ff833
上次更新日期与工作副本中的文件日期相同。
如何说服SVN提交更改?
答案 0 :(得分:3)
我重新安装了SVN,问题就消失了。不幸的是,我没有时间进一步调查。
答案 1 :(得分:2)
这里有两件事。首先,使用TSVNCache.exe绘制图标,TSVNCache.exe位于后台,监视文件系统更改并相应地更新图标。但是,它不像以前那么好,所以不会一直显示正确的图标。除此之外,Windows在帮助它方面非常糟糕,特别是在资源管理器的树部分,所以有很多时候图标叠加是错误的并且保持错误。我发现解决此问题的最简单方法是停止TSVNCache(使用任务管理器)。停止是安全的,它会自动重启。 希望Microsoft能够修复资源管理器,以便更加可靠地运行此功能。
第二部分是,尽管图标显示为红色,但文件确实没有改变 - 你可以看到这个,因为svn diff报告没有差异! (乌龟可以通过使用'检查修改'命令告诉你完全相同的信息。)
我有兴趣知道为什么svn cat显示'明显不同的内容'但svn diff却没有。
答案 2 :(得分:1)
至于修订号,如果我没记错的话,它会显示修改该特定文件的最后修订版。因此,SVN文件位于修订版153而您的本地代码位于修订版156上这一事实意味着该文件在最近3次修订中未更改。
如果您确认,然后查看文件历史记录,您会看到修订号从153跳到156.
默认情况下, diff
通常非常挑剔/彻底,即使单个空格差异也会被修改 - 如果它没有提取任何东西,我会说相信它。但请确保您在正确版本(HEAD /工作副本,最有可能)之间实际上正在区分(我喜欢这个词)。
如果你确定的话,我有兴趣看到这个问题的根源。
答案 3 :(得分:-1)
打开您的项目 - >右键单击 单击Disconnect然后执行常规工作,例如使用SVN共享项目并提交它。