cocoapods依赖项的Git哈希
我试图通过编程方式找出标记/branch/commit的git散列或任何用于项目依赖性的内容,以便为调试提供更多信息,前提是依赖性存储在git repo中。有什么想法吗?我不希望再次克隆依赖项。这将取决于Pod的安装方式。如果您从外部源安装了Pod,例如,如果您在Pod文件中使用以下内容:cocoapods依赖项的Git哈希,git,cocoapods,Git,Cocoapods,我试图通过编程方式找出标记/branch/commit的git散列或任何用于项目依赖性的内容,以便为调试提供更多信息,前提是依赖性存储在git repo中。有什么想法吗?我不希望再次克隆依赖项。这将取决于Pod的安装方式。如果您从外部源安装了Pod,例如,如果您在Pod文件中使用以下内容: pod 'AFNetworking', :git => 'https://github.com/AFNetworking/AFNetworking.git' 您可以在中找到使用的签出选项,这是一个机器
pod 'AFNetworking', :git => 'https://github.com/AFNetworking/AFNetworking.git'
您可以在中找到使用的签出选项,这是一个机器可读的YAML文件:
CHECKOUT OPTIONS:
AFNetworking:
:commit: ba7b6e541fd18bdf48da6d4845670e3e6b990637
:git: https://github.com/AFNetworking/AFNetworking.git
相反,如果您使用的是规范存储库,则需要查阅用于Pod的podspec,该文件将在所用Pod规范存储库的本地签出中找到(如果这是主规范存储库,请访问~/.cocoapods/repos/master/
)。pod规范将包含所需的检查信息。例如,如果您使用的是master spec存储库中的AFNetworking 2.5.2,您可以在必要的podspec中找到签出信息:
$ grep -A 3 '"source"' ~/.cocoapods/repos/master/Specs/AFNetworking/2.5.2/AFNetworking.podspec.json
"source": {
"git": "https://github.com/AFNetworking/AFNetworking.git",
"tag": "2.5.2",
"submodules": true
非常感谢您的快速回复!我使用的是规范存储库,因此无法获取:commit:条目,规范中的源信息通常不包含git哈希。您知道cocoapods是否对其依赖项进行git克隆(如果它们是基于git的)?或者它是否以不同的方式检查来源。我试着让自己看起来很像,但我对ruby还很陌生,在源代码中迷失了方向。CocoaPods会根据规范中的信息进行git克隆,通常这是一个git标记,所以它会对该标记进行克隆。您可以在以下位置找到确定git参数的代码: