我有一个遗留项目,也包含几个开源库的源代码。不幸的是,一些库是简单的快照,没有任何修订信息。 我正在寻找一种方法来识别库存储库中的匹配提交(git-driven)。
到目前为止,我一直在做的是单个文件的某种心理'二等分'更改,但这些文件经常在提交之间移动,后来证明是相当困难的。
可以使用的先决条件:
答案 0 :(得分:2)
为什么不执行以下操作:
克隆库的存储库
使用您手头的版本覆盖工作树
针对所有提交运行git diff
:
#!/usr/bin/env bash
for rev in $(git rev-list --all)
do
if git diff --exit-code $rev &> /dev/null
then
echo $rev
fi
done
即使没有完全匹配,也可以轻松增强此过程,以便搜索与您的版本差异最小的修订版。