VS2010中的Resource.h编辑C ++不能与anhksvn一起使用

时间:2012-11-16 16:24:05

标签: c++ visual-studio-2010 svn ankhsvn

我正在试图弄清楚为什么anhksvn会破坏Visual C ++中的资源编辑。文件resource.h和project.rc标记为svn:needs-lock,因为它们不能轻易合并。在编辑资源时,anhksvn正确地要求对两个文件进行锁定并且编辑很好。保存编辑时,resource.h标记为“new”而不是“modified”。

当然,已经有一个现有的resource.h文件位于存储库中的完全相同的位置,因此在提交时它失败,说该文件已经存在。工作副本中的文件完全有效,编译没有问题。我找到的唯一解决方案是复制resource.h,删除文件并更新以获取旧文件,然后将新文件复制并提交,虽然这是一个巨大的痛苦,但工作正常。

我想弄清楚为什么会这样。 SVN知道该文件存在并且通常可以正常运行。但是,出于某种原因,它有时会认为当资源编辑器保存在resource.h上时,该文件永远不会存在并且必须添加,即使它知道该文件存在于任何提交操作中。

编辑:我最终发现问题出在文件案例中。该项目有Resource.h,但文件实际上是resource.h。由于Windows中的文件大小写被忽略,因此Visual Studio很好用。但是,当VS2010保存resource.h文件时,它将正确的文件大小写传递给anhksvn,它认为添加了一个新文件Resource.h。当它检查实际文件时它看到resource.h,anhksvn看到它已经添加,因此无法再次添加。我必须复制resource.h,在SVN下重命名该文件然后将其删除。然后我重命名了copy resource.h并将其再次添加到项目中。然后该项目的文件大小写正确,问题就解决了。

0 个答案:

没有答案