Search code examples
iosxcodemacosswiftcarthage

Carthage: How to get the very latest version of a given repository?


The Cartfile documentation makes the assertion:

If no version requirement is given, any version of the dependency is allowed.

with the contradictory example:

# Use the latest version
github "jspahrsummers/xcconfigs"

Furthermore, it is not stated, but from testing, I infer that "latest" is actually the version of the latest tag. Is this interpretation correct? And if so, how does one specify the very latest commit - do you have to manually check and specify the latest commit, or is there a simpler way?


Solution

  • The documentation states

    Carthage supports several kinds of version requirements:

    • >= 1.0 for “at least version 1.0”
    • ~> 1.0 for “compatible with version 1.0”
    • == 1.0 for “exactly version 1.0”
    • "some-branch-or-tag-or-commit" for a specific Git object (anything allowed by git rev-parse)

    so I believe

    github "jspahrsummers/xcconfigs" "HEAD"
    

    should work as expected, since "HEAD" is a valid argument for git rev-parse

    Alternatively

    github "jspahrsummers/xcconfigs" "master"
    

    or any other branch