2011-11-30 63 views
0

历史记录: 我被要求编辑一些代码。问题是没有人能找到我们正在运行的代码。到目前为止,我们得到的最接近的是一个jar(仅包含.class文件)。我尝试使用JAD反编译并遇到问题。然后我尝试了使用JADRetro和JAD进行反编译(这个工作更好,到目前为止我只看到一个问题......但我仍然担心代码的准确性)。 为了将来的工作,我想把“代码”放到SVN中。但我想知道如何做到最好。我有这个反编译的代码(缺少所有评论,质量未知),我有一个更早版本的实际源代码(我们实际上并没有运行)。针对丢失修订版的项目的SVN最佳实践

问题: 如果最好将代码放到SVN中,因为其中一个版本不错,但是比较老,而且比较旧(而不是我们正在运行的版本);和另一个版本(由于至少一个反编译错误)没有正确重新编译并且没有任何注释(被反编译),但是正在运行(有点,因为它没有正确反编译)。

我可以在原始代码检查,但后来我怎么在“下一个版本”检查(这是从后面的点反编译的代码,有变化(增加类,代码改变,类改名的地段,班感动....))。如果我检查第一个版本,然后删除所有内容并检查下一个版本(因为我不编码这些版本),我担心这会混淆/损坏SVN。处理这种法庭修订的最佳方法是什么?

回答

1

最好是将反编译的代码签入为“下一个版本”。是的,会有很多变化,但是会有很多变化。

但是,SVN将包含整个项目历史。是的,历史上会有差距,但无论如何,SVN被用来追踪历史。因此删除旧版本并从头开始不是一种选择。

+0

我不明白我该怎么做。通常你检入代码并进行更改。在这里我有两个“快照”。我如何检查第二张快照?我没有在两个版本之间进行编辑,添加,删除,移动和重命名。这就是为什么我提到签入,删除所有内容,再次签入(我知道这是邪恶的)。 –

+0

我假设你有相同的目录结构和相同的文件名。然后,您可以简单地签入,使用新文件覆盖旧文件,然后将它们签出回SVN。但是,如果连文件名都不同 - 那么是的,签入,全部删除,复制新文件和签出。 – werewindle

+0

问题是你的假设是错误的。目录结构大部分是相同的,但不完全相同的文件名...这是一个皇家的痛苦。我想对那些不改变位置/名称的人来说,我可以做一个mv(用较新的快照跺跺旧的“版本”)并检查新版本。 –