在git checkout之后Ant编译错误的版本

时间:2011-11-05 13:49:36

标签: git ant

我在git存储库的ant构建中发现了一个奇怪的行为。这是我做的: 我在git存储库中有2个分支,“master”和“dev”,我在最终版本之前提交了所有更改。经过一些提交,我发现自己遇到了这种情况:

*----*---------*-----* dev
|    |         |
|    (commit)  (commit)
master

从dev分支我用ant脚本构建一个jar然后保存它以供日后使用。 然后我结账大师,我做“合并开发”(快进),然后我用相同的脚本再次构建jar文件。

如果我尝试将两个罐子(一个来自dev分支,一个来自“merged”master)与winmerge进行比较,我会找到一些内容不同的类文件。

我真的不明白发生了什么,不应该是两个相同的罐子,因为它们是从相同的来源建造的?我做错了什么?

1 个答案:

答案 0 :(得分:1)

根据这个问题

Is it possible for the same javac compiler to compile the same set of source files but produce class files of different checksums?

类文件的某些方面取决于编译源的顺序。

最重要的是:Winmerge是否忽略了jar文件中的不同时间戳?