Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Unfortunately utilizing the forge is not always an option, either due to the forge being out of sync with code out on github, or security requirements not permitting the releasing of internal code into the public sphere.
As such it is quite common to have an extensive deployment of private code spanning multiple puppet environments internally. As such this change allows for querying refs via git ls-remote and attempting to resolve out of date status. Authentication if needed is done via environmental variables (such as ssh keys or git global config).
When a module is pinned to an SHA ref HEAD on the remote repository is compared to determine outdated status.
Special note on tags... I could not figure out a less opinionated way to evaluate tagging other than to only function if the tag matches /^v\d/ or in human readable v1.2.3 or v1 or v1.2 so I am open to suggestions if this seems too opinionated
Additionally I have added the usage of an .r10kignore file which effectively is a list of modules (one per line) of which we do not want to be notified about outdated status.
Thanks!