【问题标题】:File is marked as "New" instead of "Modified" by AnkhSvn文件被 AnkhSvn 标记为“新”而不是“修改”
【发布时间】:2014-09-29 12:23:36
【问题描述】:

我的 Visual Studio 2013 项目中有一个特定文件(Web 窗体母版页)在修改时被错误地标记为“新建”。它不是新的,它已经存在于项目和 Subversion 存储库中。我使用 AnkhSVN 作为源代码控制提供程序。

如果我在 Visual Studio 之外修改文件(例如,在 Notepad++ 中),它会在 Windows 资源管理器中显示为已修改(我还安装了 Tortoise SVN),我可以使用 TortoiseSVN 提交我的更改。

我还尝试将整个项目从存储库检出到另一个本地文件夹,但问题仍然存在。

如何解决这个问题?我在 SO (AnkhSVN keeps marking .designer.cs files as newly added) 上找到了类似的帖子,但没有答案。

【问题讨论】:

  • 如果 TortoiseSVN 是比 AnkhSVN 更新的版本(假设两者都安装在同一台机器上),这个问题的最佳答案可能有助于解释:stackoverflow.com/questions/695136/…
  • 您发布的链接与前一段时间颠覆切换到新的本地副本格式有关。我的情况不是这样。
  • 在那种情况下,我想知道这是否可能是一个案例改变的问题?我知道 Subversion 区分大小写(尽管 windows 不区分),不确定 ankhsvn - 但是在显示为新而不是修改的任何文件名中是否更改了大小写?
  • 我想这个吧!在本地,该文件称为 Somefile.master ,在存储库中它是 Somefile.Master - 文件扩展名在存储库中大写(应该如此)。它在 .CSPROJ 文件中也被引用为小写(另一个我没有问题的主文件被引用为 .Master,大写)。我不确定它是如何/何时更改的。有没有办法在不破坏更改日志的情况下修复它?
  • 使用命令行svn rename 将文件重命名为ankhsvn 所期望的应该对其进行排序?您不能使用 windows 重命名它,因为它不区分大小写,因此实际上不会记录更改,而 svn rename 应该这样做。

标签: visual-studio svn visual-studio-2013 ankhsvn


【解决方案1】:

我想知道这是否可能是一个案例改变的问题?我知道 Subversion 区分大小写(尽管 windows 不区分),不确定 ankhsvn - 但是在显示为新而不是修改的任何文件名中是否更改了大小写?

如果是这样,使用命令行svn rename 将文件重命名为ankhsvn 期望的应该对其进行排序?您不能使用 windows 重命名它,因为它不区分大小写,因此实际上不会记录更改,而 svn rename 应该这样做。

【讨论】:

  • 是的,就是这样,但我没有使用 SVN RENAME 来修复它。这就是我修复它的方法:在本地我正确命名了 Somefile.Master(以及相关文件文件,如 SomeFile.Master.cs、SomeFIle.Master.Designer.cs)。然后我在 Visual Studio 中关闭了我的解决方案,在 Notepad++ 中打开了 .CSPROJ 文件,并用 .Master 替换了所有 .master 并通过 TortoiseSVN 提交了更改。然后我在 Visual Studio 中打开解决方案,更改了有问题的文件,它被正确标记为“修改”而不是“新”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-02
  • 1970-01-01
  • 1970-01-01
  • 2017-09-26
  • 2010-10-16
  • 2023-04-01
相关资源
最近更新 更多