首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让mercurial外部diff工具处理文件重命名?

如何让mercurial外部diff工具处理文件重命名?
EN

Stack Overflow用户
提问于 2010-11-18 01:21:56
回答 1查看 1.3K关注 0票数 1

如果我提交一个文件重命名并使用extdiff来查看Beyond Compare或kdiff3中的差异,它们会在每一端显示两个不同的文件。

使用Beyond compare,我可以从每一端手动选择任意文件进行比较,但如果我有很多重命名(例如,为了重构而更改java包名称),这将是一个巨大的痛苦。

我理解其中的原因: extdiff只是为diff工具创建了两个临时快照目录。

所以我的问题是:有没有办法将重命名传递给diff工具,以便它将旧文件名与新文件名进行比较?

这可能是每个diff工具所特有的。因此,如果您知道支持它的工具,请让我知道。

EN

回答 1

Stack Overflow用户

发布于 2010-11-18 01:53:13

处理重命名需要深入挖掘历史,这是典型的scm所具有的。特别是像Mercurial这样的dvcs。这就是它们处理重命名的方式。

一些有趣的事情可能是Git不跟踪重命名,操作内容,重命名无关紧要。

Diff工具可以处理检查更改,但它不能说明其中的文件。使用之前的历史记录来判断文件是否已重命名也是错误的。任何外部diff工具通常都会检查内容,因此提供文件的任务将留给用户。

然而,Mercurial确实会跟踪重命名。请参阅可用于跟踪重命名文件的this extentsion。您可以使用它来为任何外部diff工具提供要比较的正确文件名。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4207248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档