Skip to content

gert and git do not agree on what order to read the config #196

Description

@zkamvar

It looks like {gert} prioritizes config items from top to bottom, but command line git prioritizes bottom to top in the case of duplicate keys.

I have a situation where I want to use a different set of credentials for a project. I found the IncludeIf directive for .gitconfig files from https://nicknisi.com/posts/git-includeif/ and I applied it like so:

[user]
    name="Clark"
    email=clark@email.com

[credential]
    helper=/path/to/helper

# ... gitconfig stuff ...

[includeIf "gitdir:/path/to/project"]
  path = ~/.gitconfig-pat

and in my ~/.gitconfig-pat I have it set up to use the GitHub credentials for "Bizarro" in which I provision a temporary PAT inside of an environmental variable called BIZARRO_TOKEN a la https://git-scm.com/docs/gitfaq#http-credentials-environment

[user]
    name="Bizarro"
    email=clark+bizarro@email.com

[credential]
    helper = '!f() {echo username=clark-is-not-bizarro && echo "password=${BIZARRO_TOKEN}"};f'

When I run git from /path/to/project in the command line, I can commit, push, and pull as "Bizarro", but if I open R and run {gert} from the same directory, I am recognized as "Clark".

If I move the IncludeIf statement to the top of the file, then {gert} will recognize "Bizarro", but git will recognise "Clark"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions