我希望找到这两个存储库分叉的确切位置,以便我可以看到对原始代码进行了哪些更改。
https://github.com/apache/cassandra
https://github.com/wlloyd/eiger
第二个没有git历史记录。我已经确定它不是任何版本的分支。有一些文件,如CHANGES.txt(我很确定)自从分叉后没有被修改过,也许这有帮助。也许有一个聪明的差异技巧?
答案 0 :(得分:2)
没有历史,在制作分叉时几乎不可能找到它。
但是,如果您只对两个代码库之间的更改感兴趣(例如:fork和原始repo的当前master
),您可以执行以下操作:
diff -r cassandra eiger | grep -v .git
(也许您可以从diff -rq cassandra eiger | grep -v .git
开始了解受影响的文件)现在,如果你想大致了解fork的制作时间,你可以尝试在原始repo中找到提交,这样可以最大限度地减少diff的数量。你可以尝试类似的东西:
cd cassandra
for SHA_1 in $(git rev-list master); do
git checkout $SHA_1
pushd ..
echo -n $SHA_1\; >> diffs.csv
diff -r cassandra eiger | grep -v .git | wc -l >> diffs.csv
popd
done
现在你只需要找到最小化第二列的行