在 Windows 7 64 Pro 上运行 Visual Studio 2008 项目并安装以下内容:
TortoiseSVN 1.7.7,内部版本 22907 - 64 位
我最近从 1.6 升级,看看它是否会缓解我们遇到的问题,但无济于事。
无论如何,问题:
对于这个特定的项目,我们使用 CodeSmith Generator 为我们的应用程序生成我们的 netTiers 层。这些文件被生成到一个单独的目录中,并且只有必要的文件被复制到我们的项目的工作 SVN 副本中(我们不复制所有文件,因为我们不希望我们的部分文件被覆盖)。
一旦这些文件被复制过来,我们就在本地编译、测试,然后在稳定时提交给 SVN。一年多来,这在这个项目上运行良好。
最近,我们的一位开发人员将代码生成为规范。他把它复制了一遍,却发现 TortoiseSVN 没有发现任何文件被更改。奇怪的是,考虑到数据库中添加了一个新字段,这通常会影响很多文件。然后,他通过 TortoiseSVN Explorer 命令进行了“与以前版本的比较”,以确认或否认该问题。
但是,在对以前的版本和工作副本版本进行比较时,他发现文件实际上已经改变了。出于某种原因,TortoiseSVN 没有看到文件已更改。
因此,我想尽我所能确定这是否是他机器上的某个孤立问题或其他问题。我杀死了我的工作副本,重新检查并尝试执行相同的步骤。同样的问题。TortoiseSVN 没有接受这些变化。
现在,作为一个实验,我打开文件并手动复制内容。在这种情况下,TortoiseSVN 完美地接受了变化。
当然,手动执行此操作的问题在于,它依赖于开发人员必须知道每个已更改的文件......此外,由于更新的文件数量众多,因此需要更多时间。
所以,我们在这里束手无策。这是一个错误吗?一些可能被欺骗的设置?没有触发通知 TortoiseSVN 更新的事件?
谢谢大家,-史蒂夫