【发布时间】:2014-02-21 11:39:05
【问题描述】:
Plastic SCM 似乎不跟踪文件之间移动的代码(与例如 Git 相比)我是对的,还是有办法打开此功能?
【问题讨论】:
标签: plasticscm
Plastic SCM 似乎不跟踪文件之间移动的代码(与例如 Git 相比)我是对的,还是有办法打开此功能?
【问题讨论】:
标签: plasticscm
(免责声明:我为 Plastic SCM 工作)。
据我所知,当您运行“git blame”时,git 能够跟踪文件之间移动的代码片段,但它在合并期间不使用此信息,对吗?如果它发生在同一个提交上,Git 能够计算文件之间的“移动片段”,这就是它在处理“责备”时所做的事情。
不,Plastic 还不能做到这一点,这很遗憾,因为我们已经围绕这个想法做了一些有趣的事情:
首先我们有semantic method history,它能够跟踪给定方法的历史记录,即使它已被移动、重命名和修改,但总是在同一个文件中。我们计划将其扩展到存储库范围内,实际上我们正要在去年年底之前实施它,但我们不得不推迟它,因为我们还有一些其他要求很高的功能需要开发。
“语义方法历史”基于我们开发的SemanticMerge 技术。现在它也可以在文件中工作,但计划也提出 SemanticMerge 多文件(我们甚至已经有了一个工作原型)。我希望这比其他工具的功能领先几个步骤。
将最后两个应用在一起,做类似“移动代码的责备”之类的事情并不难,正如您所指出的那样,这是一件非常棒的事情。希望我们能在未来几个月内发布类似的内容。
【讨论】: