如何在版本控制系统中找到最佳匹配的修订版本?

6

我很久以前从一个subversion仓库中下载了一个单独的文件。所以这不是从那个仓库中检出的。我修改了这个文件,但我不记得我下载这个文件时的版本。

项目发展了,现在我想把这两个文件合并起来(两年后)。这个文件是一个巨大的脚本。

因此,我的基本尝试是从仓库中找到最佳匹配的版本,以便查看我做了哪些修改,最终将这两个文件合并。为此,我会检出每个我认为可能是这个版本的版本,进行差异比较,并计算行数。我认为,最小的差异将给我最佳匹配的版本。

还有其他想法吗?


3
当我读了你问题一半的时候,我就想到了完全相同的搜索方法。 - zerkms
但这绝对不正确,我使用了一个小脚本,但受影响的行数随时间变化呈局部极小值。甚至全局最小值也没有匹配。 - math
1个回答

3
这是一个有趣的问题,但最终你需要与文件的最新版本合并(如果当前存在的话,否则你会遇到另一个问题)。因此,我认为“最佳匹配”的修订版本并不比当前版本更好。因此,请尝试与当前版本进行差异比较,如果你不理解它是如何演变的,可以阅读(使用良好的工具,最好是图形化的)文件的变化情况,以了解代码的哪些行来自于哪里。

这有点取决于版本控制系统...为什么我要用SVN这么长时间呢?:( 但是“最佳匹配”可能很有用,可以看看在那个时间点还有什么其他的东西,而不仅仅是试图弄清楚如何合并它。 - user166390
是的,我已经开始了,但由于有许多影响专注于真正变化的外观变化,我迷失了方向。(我应该查看哪些好的工具来使用subversion?)如果我从那个版本开始,我会发现我所做的更改以及哪些可以视为现在已过时。 - math
我放弃了,因为我发现其他团队成员的更改(我不知道)也有,所以我必须合并。你是对的。 - math

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接