Хорошо, я постараюсь сделать это коротким и сладким. Я пытаюсь сравнить большой проект Java со старой веткой, чтобы узнать, какие изменения были сделаны между этими двумя версиями. У меня уже есть .jar
файлы обеих версий, и структура папок точно такая же.
Я хотел бы написать это в сценарии bash, но я пытаюсь найти лучший метод для этого, потому что проблема заключается в том, что путь к банкам (и самому имени jar) не совпадает с каждым счетчик часть. Так, например...
Сравнение файла jar:
2.2.9/com.project/dns-pool/1.2.2/dns-pool.1.2.2.jar
в
trunk/com.project/dns-pool/2.7.7/dns-pool.2.7.7.jar
Поэтому по существу мне нужно будет перебирать все папки внутри туловища и сравнивать их с ним.
Я должен был это долгое время назад и в основном делал следующие 3 шага.
Это просто требует поиска и использования правильных инструментов для процесса. Мне не пришлось платить за какой-либо инструмент. Вы найдете инструменты с открытым исходным кодом или даже условно-бесплатные файлы в течение хорошего периода трейла.
Там могут быть ложные срабатывания, если две банки были скомпилированы разными версиями JRE. Но в целом вы должны уметь выявлять очевидные различия. Благодаря хорошим инструментам сравнения вы сможете "игнорировать" определенные различия.
Мне жаль, что у меня нет имен инструментов, которые я использовал.
diff
like для сравнения бранчей ... Если вы хотите сравнитьjar
s Я бы посоветовал вам сначала распаковать их, а затем использовать BeyondCompare для сравнения структур dir.