Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Svn 更改的文件是否未被修改?_Svn_Tortoisesvn - Fatal编程技术网

Svn 更改的文件是否未被修改?

Svn 更改的文件是否未被修改?,svn,tortoisesvn,Svn,Tortoisesvn,我已从本地SVN:服务器签出一个目录。更改某些文件后,我想提交更改。这就是问题所在: 在OrtoiseSVN中,文件标记为已更改(红色图标) TortoiseSVN commit说“没有更改或添加任何文件…” TOTOISEVN更新不会更改任何内容 svn stat未列出已修改的文件 svn cat显示的内容与工作副本中的文件明显不同 svn diff未显示任何差异 svn更新告诉我第156版的。 TortoiseSVN repo浏览器显示存储库中的文件处于版本153 svn stat he

我已从本地SVN:服务器签出一个目录。更改某些文件后,我想提交更改。这就是问题所在:

  • 在OrtoiseSVN中,文件标记为已更改(红色图标)
  • TortoiseSVN commit说“没有更改或添加任何文件…”
  • TOTOISEVN更新不会更改任何内容
  • svn stat
    未列出已修改的文件
  • svn cat
    显示的内容与工作副本中的文件明显不同
  • svn diff
    未显示任何差异
  • svn更新
    告诉我第156版的
  • TortoiseSVN repo浏览器显示存储库中的文件处于版本153
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提交更改?

这里有两件事。首先,使用位于后台的TSVNCache.exe绘制图标,监视文件系统的更改并相应地更新图标。但是,它不如以前那么好,因此不能始终显示正确的图标。除此之外,Windows在帮助它方面做得相当糟糕,尤其是在浏览器的树部分,因此有相当多的时候,图标覆盖是错误的,并且仍然是错误的。我发现解决这个问题的最简单方法是停止TSVNCache(使用任务管理器)。停止是安全的,它将自动重新启动。 希望Microsoft能够修复explorer,使此功能能够更可靠地工作

第二部分是,尽管图标显示为红色,但文件实际上没有更改-您可以看到这一点,因为svn diff报告没有差异!(通过使用“检查修改”命令,乌龟可以告诉您完全相同的信息)


我很想知道为什么svn cat显示“明显不同的内容”,而svn diff却没有。

至于版本号,如果我没记错的话,它显示了上次修改该特定文件的版本。因此,SVN文件在第153版上,而您的本地代码在第156版上,这一事实意味着该文件在最近3个版本中没有更改

如果您签入它,然后查看文件历史记录,您将看到修订号从153跳到156

默认情况下,
diff
通常非常挑剔/彻底,甚至将单个空间的差异标记为已修改-如果它没有发现任何东西,我会说信任它。但是要确保你在正确的版本(最有可能是头部/工作副本)之间进行了区分(我喜欢这个词)


如果你能找到问题的根源,我会很感兴趣的。

我重新安装了SVN,问题就消失了。不幸的是,我没有时间进一步调查。

打开项目->右键单击
单击Disconnect,然后使用SVN执行通常的工作,如共享项目并提交它。

TortoiseSVN很可能在文件上使用上次修改的时间戳来显示红色图标。SVN通常只提交文件,当文件中有实际更改时,即SVN diff至少会产生一些内容。我不知道,但我怀疑你实际上没有修改这些文件,这就是为什么它们不会提交。如果您绝对坚持提交文件,请在顶部或底部添加一个空行,和/或尝试在文件上设置一个虚假的SVN属性。您是否使用任何自动工具来修改文件?停止TSVNCache似乎是可行的,但我还必须打开Windows资源管理器的新实例,以正确显示树图标。