Ant компилирует неверную версию после git checkout - PullRequest
1 голос
/ 05 ноября 2011

Я обнаружил странное поведение в сборке муравьев в репозитории git. Вот что я делаю: У меня есть 2 ветки в репозитории git, «master» и «dev», где я фиксирую все изменения перед финальным выпуском. После нескольких коммитов я оказался в такой ситуации:

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

Из ветки dev я создаю jar с помощью скрипта ant, а затем сохраняю его на потом. Затем я извлекаю master, делаю «merge dev» (с перемоткой вперед) и снова строю jar-файл с тем же сценарием.

Если я попытаюсь сравнить два jar-файла (один из ветки dev, другой из "объединенного" master) с winmerge, я найду файл класса с другим содержанием.

Я действительно не понимаю, что происходит, не должны ли эти две банки быть идентичными, поскольку они построены из одних и тех же источников? Что я делаю не так?

1 Ответ

1 голос
/ 05 ноября 2011

По этому вопросу

Возможно ли, чтобы один и тот же компилятор javac компилировал один и тот же набор исходных файлов, но создавал файлы классов с разными контрольными суммами?

некоторые аспекты файла класса зависят от порядка компиляции исходных текстов.

Кроме того: Winmerge игнорирует различные временные метки в файлах jar?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...