当我尝试将我的解决方案从使用Ankhsvn切换到VisualHG(我们刚刚从SVN迁移到Mercurial)时,我不断收到以下消息:
"活动解决方案或项目由与您选择的插件不同的源控件插件控制.如果您更改源控件插件,活动解决方案或项目将被关闭.您是否希望继续?"
然后解决方案将关闭,当我重新打开它时,它仍将与Ankhsvn相关联.
我尝试删除源文件夹并从Mercurial中获取一个新的克隆,但问题仍然存在.
我正在使用Mercurial和VisualHG扩展.
有没有办法将KDiff3代码比较器更改为Visual Studio比较和合并工具?
我只有几天的Git和Mercurial经验,而且我没有太多的编程经验.
在过去的几天里,我读了许多比较两者的帖子.根据我的阅读和测试,我得出以下结论:
Git的重命名是100%自动但不是100%准确.它依赖于算法来猜测重命名.最终用户即使完全错误也无法改变其决定.
我猜Git的方法可能适用于99%的病例,但1%会导致头痛.这让我对重构我的代码(同时更改类名和内容)犹豫不决,因为如果重构太多,我冒着丢失文件历史的风险.
Mercurial可以100%自动且100%准确,只要我总是在Visual Studio中重命名/移动我的东西并安装VisualHG,VisualHG应该准确并自动跟踪移动和重命名(目前VisualHG有一个错误 - 文件未重命名时我在项目之间移动它).如果最终用户犯错,最终用户可以改变决策.
如果我没有Visual Studio,我仍然可以使用TortoiseHg的"检测副本/重命名"窗口,我可以设置相似度百分比,让Mercurial自动检测重命名.如果它出错了,我有机会纠正它.
我的结论是对还是错?
参考:
有人管理过这个问题吗?所有其他Mercurial设施在VS内部工作正常.
我们在Visual Studio 2010中使用Hg.我希望能够看到谁编辑了编辑器中的代码而不必启动VisualHg或命令提示符.
有没有人知道一个插件,在编辑器的边缘显示用户?
即使我使用VisualHG的注释功能只显示更改集,然后您必须查找谁提交了更改集.
我使用Mercurial(使用VisualHg)作为我的源代码,我有以下情况.
我目前正在使用默认分支,并希望按照http://stevelosh.com/blog/2010/05/mercurial-workflows-stable-default/中显示的步骤创建一个新的稳定分支.
这是我的问题:
我不确定这种方法是否适用于Mercurial:我曾经使用过VisualSVN.谢谢.
我有一个 TortoiseHG (2.3.2) 存储库,在我的 Windows7 Ultimate(32 位)计算机上的根目录中包含一个名为“cv2”的目录。当我在“cv2”的不同子目录中添加新文件时,TortoiseHG 将“cv2”显示为“cv2”或“CV2”,具体取决于目录。
例如,如果我将名为“tom.cs”的文件添加到以下目录,我会在 TortoiseHG 中得到以下结果:
Physical Directory TortoiseHG Filename
...\cv2\Common\tom.cs cv2/Common/tom.cs
...\cv2\tom.cs CV2/tom.cs
...\cv2\WinClient\tom.cs cv2/WinClient/tom.cs
...\cv2\WinService\tom.cs CV2/WinService/tom.cs
Run Code Online (Sandbox Code Playgroud)
我不知道这是什么时候开始的,但这意味着我现在已经提交了“cv2”和“CV2”,从而在存储库中产生了两个单独的目录(我猜我对此无能为力)。
该存储库包含一个解决方案,子目录中有 3 个项目(“cv2”是其中之一,另外还有“cp2”和“NotificationService”)。我刚刚发现解决方案文件的目录名称为“CV2”而不是“cv2”。现在已经改变了,因为它阻止了“Diff”在 Visual Studio 中工作...但是从一开始就是这样,并且自初始提交以来就没有改变。不幸的是,我不记得当时是否重命名了 Windows 目录……有可能。
对于“CV2”或“cv2”的这种差异(具体取决于它所在的目录),我有什么办法吗?我尝试通过命令提示符重命名 Windows 目录,但没有成功。我的印象是 Mercurial 在 Windows 计算机上运行时忽略了区分大小写,但我想我被误导了。
我是该项目的唯一开发人员,因此任何更改都不会有扰乱其他人的危险。