git/list[1] front-page[2] threads[3] people[4] search[5] about
 

git config credential.helper with absolute path on windows not working properly

From
VSValentin Stanciu <svalentin@google.com>
Date
Oct 5, 2015, 20:40 UTC
Message-ID
<CADmzSDHbH-=bX=PFqvoe23iQPF7Mq6ogV7D9c0XjdXUsORgmBQ@mail.gmail.com>
Hey guys,

I recently found that specifying absolute paths for credential helper on windows does not work correctly if the path has spaces or non alphanumeric characters like parentheses. From what I gather it seems to do with how args are passed to subprocesses.

example: git config credential.helper "C:\tmp\a (b)\git-credential-helper.cmd"

Running `git config credential.helper` shows that git got the full path: C:\tmp\a (b)\git-credential-helper.cmd

However, when running `git push`, for example, git has problems invoking the credential helper. If the path has no spaces or parentheses, then everything is fine.

I tried countless ways of escaping the path, but couldn't find a proper way to pass this to git and make it work. Tried adding more quotes, slashes, and '^' (escape character for batch). Escaping spaces with slashes seems to work, but couldn't find a way to escape characters like '(' and '('. I think git needs to add some escaping or quotes when running the credential helper.

This affects commands that inline the credential helper too: git clone https://path.to.repo.com C:\tmp\default --config credential.helper="c:\tmp\a (b)\git-credential-gcloud.cmd"

Not sure if this is limited to credential helper or any config in git, but this is a case I could repro easily.

Tested on Windows 7 x64 with all updates installed, from the command line, using git version 2.6.0.windows.1. Git is installed to be available from the command line.

Thanks, Valentin

Next: bcampolo
Message 1 of 2 in “git config credential.helper with absolute path on windows not working properly”
  1. Valentin StanciuOct 5, 2015
  2. bcampoloSep 26, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.