microsoft / microsoft/VFSForGit
Mac: authentication failed due to "credential-osxkeychain is not a git command"
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 6.1k
- Forks
- 474
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 8
Description
We've extended gitlab with gvfs protocol and encountered this error during "gvfs clone".
With debug mode of git-credential-manager on, the detailed log is as follows:
Clone parameters:
Repo URL: http://gitlab.example.com/hal/demo.git
Branch: Default
Cache Server: Default
Local Cache: /Users/Hal/.gvfsCache
Destination: /Users/Hal/gvfs/demo.git
Authenticating...—
Authenticating...
Authenticating...
Authenticating...|
Authenticating...|
Authenticating.../
Authenticating.../
Authenticating...—
Authenticating...Failed. Run 'gvfs log /Users/Hal/gvfs/demo.git' for more info.
Cannot clone because authentication failed: git: 'credential-osxkeychain' is not a git command. See 'git --help'.
Configuration::loadGitConfiguration
Configuration::ParseGitConfig
credential.helper = !/Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home/bin/java -Ddebug=true -Djava.net.useSystemProxies=true -jar /usr/local/Cellar/git-credential-manager/2.0.4/libexec/git-credential-manager-2.0.4.jar
diff.tool = Kaleidoscope
difftool.Kaleidoscope.cmd = ksdiff --partial-changeset --relative-path "$MERGED" -- "$LOCAL" "$REMOTE"
difftool.prompt = false
merge.tool = Kaleidoscope
mergetool.Kaleidoscope.cmd = ksdiff --merge --output "$MERGED" --base "$BASE" -- "$LOCAL" --snapshot "$REMOTE" --snapshot
mergetool.Kaleidoscope.trustexitcode = true
mergetool.keepBackup = false
mergetool.prompt = false
user.email = xxxx@xxx.com
user.name = Hal
Program::loadOperationArguments
Configuration::tryGetEntry
Configuration::tryGetEntry
Configuration::tryGetEntry
Configuration::tryGetEntry
Configuration::tryGetEntry
Configuration::tryGetEntry
Program::EnableTraceLogging
Program::get
targetUri = http://gitlab.example.com/
Program::ComponentFactory::createSecureStore
Getting a persistent token store that must be secure
Getting a persistent credential store that must be secure
Program::createAuthentication
detecting authority type
BaseVsoAuthentication::getAuthentication
BaseVsoAuthentication::detectAuthority
failed detection
authority is basic
BasicAuthentication::getCredentials
SecretStore::getTargetName
Secret::uriToName
target name = gcm4ml:git:http://gitlab.example.com
SecretStore::readCredentials
SecretCache::readCredentials
SecretCache::_getTargetName
Secret::uriToName
target name = gcm4ml:git:http://gitlab.example.com
BaseSecureStore::readCredentials
fatal: could not read Username for 'http://gitlab.example.com/': terminal prompts disabled
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the reported gvfs clone authentication path and reproduce the failure on macOS using the supplied GitLab URL. Inspect the configured credential.helper and the git-credential-manager debug log, then verify that authentication completes without the credential-osxkeychain error and terminal-prompt failure.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git, macos
- Domain
- authentication, cli, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100