Visual studio 2010 VisualHG用[R]标记文件,但在提交时,TortoiseHg仍会删除/添加文件

Visual studio 2010 VisualHG用[R]标记文件,但在提交时,TortoiseHg仍会删除/添加文件,visual-studio-2010,visual-studio,mercurial,tortoisehg,visualhg,Visual Studio 2010,Visual Studio,Mercurial,Tortoisehg,Visualhg,我正在将VisualStudio2010与VisualHG和TortoiseHg一起使用。我注意到,如果使用解决方案资源管理器移动或重命名文件,文件旁边会出现一个小[R],我认为这表示“重命名”。但是,如果我在TortoiseHg中提交我的更改,它不会执行重命名--它会删除旧文件并添加新文件。这会导致文件的所有历史记录丢失(并不必要地扩大了回购) 有没有办法让它正常工作?如果VisualHG不能正确地与TortoiseHg协调文件重命名,那么使用VisualHG实际上没有什么好处 另外,我应该提

我正在将VisualStudio2010与VisualHG和TortoiseHg一起使用。我注意到,如果使用解决方案资源管理器移动或重命名文件,文件旁边会出现一个小[R],我认为这表示“重命名”。但是,如果我在TortoiseHg中提交我的更改,它不会执行重命名--它会删除旧文件并添加新文件。这会导致文件的所有历史记录丢失(并不必要地扩大了回购)

有没有办法让它正常工作?如果VisualHG不能正确地与TortoiseHg协调文件重命名,那么使用VisualHG实际上没有什么好处

另外,我应该提到,OrtoiseHG有一个“在解决方案中检测副本/重命名”对话框,但我似乎无法让它工作。首先,我在TortoiseHg工作台中似乎找不到任何按钮或菜单项来启动它。第二,如果我通过输入
thg guess
启动if using终端,则在“未查看的文件”框中不会显示任何路径(并且没有明显的方法添加路径)。尝试此操作时,我确保导航到正确的目录(我的解决方案目录,其中包含我的.hg repo)。我还尝试了猜测解决方案目录路径,但没有什么不同。如果这个对话框是我的问题的一个可能的解决方案,你实际上是如何使用它的

编辑

我最终发现,您可以通过右键单击Windows资源管理器中的解决方案文件夹,然后选择Ottoisehg>Guess Renames来访问“在解决方案中检测副本/重命名”对话框。但是,当我再次执行此操作时,“未预览文件”框中不会显示任何路径,因此我仍然无法开始使用此对话框。(即,我甚至无法执行中的步骤1。)

编辑2


我在VisualHG CodePlex问题页面上发现了一个bug报告,我认为它解释了我遇到的问题:。不过,我有点惊讶它没有获得更多的选票。

经过进一步调查,我意识到,即使这些文件在TortoiseHg Workbench中显示为已删除/添加,但实际上它们的重命名是正确的

如果在工作台中单击旁边带有“+”的文件,如果该文件实际上是一个重命名文件,则代码窗口的标题将显示如下内容:

Project/Folder/RenamedFile.cs(从Project/Folder/OriginalFile.cs重命名)

在阅读了更多关于Mercurial真正在做什么的内容后,听起来它实际上是在删除和添加,只是添加的文件保留了对原始文件的引用,因此您仍然可以查看重命名过程中的历史记录

我不确定这是否解释了我在“解决方案中检测副本/重命名”时遇到的问题,但我现在很满意重命名得到了正确处理