2009-11-25 118 views
2

说某人克隆存储库A导致存储库B,然后克隆存储库B,有没有办法确定上游存储库(即存储库A)是什么?我知道github显示了'blah/blah',但我没有使用github来完成这个项目。如何获取克隆存储库的上游存储库?

我问的原因是我希望获得该人在单个差异文件中所做的所有更改。

在颠覆我可以只做svn log --stop-on-copy得到第一次提交,然后svn diff -rXXXX:HEAD其中XXXX是分支的第一个版本,以获得与所有更改的差异。我知道分支和克隆不是完全一样的东西,但我想提供最终的结果。对上游回购和克隆回购进行差异似乎是要走的路,但我可能是错的。

在此先感谢。

回答

6

简单地说,没有。 '上游'存储库(如果存储库甚至具有单一上游)仅由存储库的配置设置确定,并且如果上游维护者仅仅从不同存储库明确提取,则忽略配置的默认值,即使这些也可能在理论上不准确。

如果你有shell(或文件系统)的访问到远程存储库,那么你可以查询config文件或git config输出(试行remote.origin.url),但除此之外,它不是标准的“上传包”协议的一部分。

即使没有关于远程存储库的知识,您也可以通过在提取的分支上使用git log --authorgit log --committer来确定特定作者/委托人所提交的内容。

+0

无赖。我真的很喜欢能够轻松获得差异。感谢你的回答。 – seth 2009-11-29 05:36:07