【问题标题】:Git hash of cocoapods dependenciescocoapods 依赖项的 Git 哈希
【发布时间】:2015-08-05 19:26:18
【问题描述】:

我正在尝试以编程方式找出标记/分支/提交的 git 哈希或用于我的项目依赖项的任何内容,以便为调试提供更多信息,前提是依赖项存储在 git 存储库中。有任何想法吗?我宁愿不再克隆依赖。

【问题讨论】:

    标签: git cocoapods


    【解决方案1】:

    这取决于 Pod 的安装方式。如果您从外部源安装了 Pod,例如如果您在 Podfile 中使用以下内容:

    pod 'AFNetworking', :git => 'https://github.com/AFNetworking/AFNetworking.git'
    

    您可以在Podfile.lock 中找到使用的结帐选项,这是一个机器可读的 YAML 文件:

    CHECKOUT OPTIONS:
      AFNetworking:
        :commit: ba7b6e541fd18bdf48da6d4845670e3e6b990637
        :git: https://github.com/AFNetworking/AFNetworking.git
    

    如果您使用的是规范存储库,则需要查阅用于 Pod 的 podspec,它可以在所使用的 pod 规范存储库的本地结帐中找到(如果这是主规范存储库,则位于 @ 987654325@)。 pod 规范将包含所需的结帐信息。例如,如果您使用主规范存储库中的 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 标签,因此它会为该标签进行克隆。您可以在github.com/CocoaPods/cocoapods-downloader/blob/master/lib/… 找到确定 git 参数的代码
    猜你喜欢
    • 2017-12-28
    • 1970-01-01
    • 2022-08-21
    • 2023-04-04
    • 2021-12-27
    • 1970-01-01
    • 2019-06-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多