awslabs / git-secrets

Prevents you from committing secrets and credentials into git repositories
Apache License 2.0
12.36k stars 1.17k forks source link

Expand ~ and ~user in secrets.providers #215

Open sparr opened 2 years ago

sparr commented 2 years ago

Description of changes:

By adding --type path when retrieving the list of providers, provider paths starting with ~ or ~user will undergo expansion. This allows referring to paths relative to the home directory of the current user or a specific user.

My use case for ~ is to put a provider script under my home directory and refer to it from config.providers without having to hard-code my username in my dotfiles.

There is a technically possible but completely implausible regression mode for this PR: Someone has a provider defined starting with "\~" which they expect to resolve to a directory with a literal "~" leading its name, located in the cwd(s) from which they call git-secrets. That provider path would fail to resolve after this change.

--path would accomplish the same goal, with more backwards compatibility for older git versions, but less forward compatibility if that deprecated option is ever removed.

Also fixes #159

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.