问题背景:
想搞一个复用构建包的算法,构建包以id命名。思路是为代码仓库中分支A的源码计算出一个idA,为分支B的源码计算出一个idB,如果分支A和B的源码是一致的(文件内容和文件名及大小写都完全一样),那么idA与idB相等,对应同一个构建包。
尝试过的思路:
1、取代码仓库最新的hash值,但不同的提交记录会生成不同的hash值(即使源码内容是一样的,hash值也可能不同)。
2、通过计算每个文件的MD5值,常用的MD5计算只与文件内容相关,若文件名变更会导致判断错误。
期望结果:
可以根据文件夹内容生成一个专属的ID
选定一个几乎分支类似于master,每个新版本和master做比较
把git diff命令的结果哈希一下当成专属id