您如何检查两个提交是否仅在代码格式方面有所不同

问题描述 投票:1回答:3

[我试图将Java checkstyle添加到一个休项目中,并且出现了rounf 7000错误,我认为formatting整个项目将摆脱5000个错误。

问题是我的团队拒绝对此提交(在git上进行审核),因为这是一个很大的更改。是否有一种方法/脚本可以轻松确定两次提交是否仅在代码格式上有所不同,并且在逻辑上没有差异。

java git github version-control checkstyle
3个回答
0
投票

您可以先用options检查差异以减少一些差异,例如

git diff --ignore-all-space --allow-indentation-change --ignore-blank-lines HEAD^

[它不会忽略更复杂的重构,但是有很多样式更改只会影响空格和缩进,这是有争议的。


0
投票

将一个修订签入一个目录,将另一个修订签入另一个目录。将相同的格式应用于两个目录。不管您应用哪种特定格式,两个目录都应该相同。

然后比较目录使用您选择的差异工具,例如Meld,WinMerge,Diffinity。如果它们没有差异,那么实际上两个修订版除了格式上没有差异。


-1
投票

一种解决方案是比较构建结果(即,编译项目并构建JAR或WAR或其他工件)。如果仅更改格式,则生成的字节码将等于前一个。因此,简单的逐位比较将告诉您格式更改是否没有破坏功能。

另一种解决方案是只使用您拥有的任何自动化测试并运行它们。尽管我假设您的团队做出了反应,但您没有进行广泛的测试。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.