1

似乎塑料 SCM 不跟踪文件之间移动的代码(与例如Git相比)我是对的,还是有办法打开此功能?

4

1 回答 1

1

(免责声明:我为塑料单片机工作)。

据我所知,当您运行“git blame”时,git 能够跟踪文件之间移动的代码片段,但它在合并期间不使用此信息,对吗?如果它发生在同一次提交上,Git 能够计算文件之间的“移动片段”,这就是它在处理“责备”时所做的事情。

不,Plastic 还不能做到这一点,这很遗憾,因为我们已经围绕这个想法做了一些有趣的事情:

  • 首先,我们有语义方法历史,它能够跟踪给定方法的历史,即使它已被移动、重命名和修改,但总是在同一个文件中。我们计划将其扩展到存储库范围的基础上,实际上我们将在去年年底之前实施它,但我们不得不推迟它,因为我们还有一些其他要求很高的功能需要处理。

  • “语义方法历史”基于我们开发的SemanticMerge技术。现在它也可以在文件中使用,但计划还提出 SemanticMerge 多文件(我们甚至已经有了一个工作原型)。我希望这比其他工具能做的要领先几个步骤。

  • 将最后两个应用在一起,做类似“移动代码的责备”之类的事情并不难,正如你所指出的那样,这真的很棒。希望我们能在接下来的几个月里发布类似的东西。

于 2014-02-22T08:14:43.587 回答