Skip to content

Unsetting git credential helper causes git submodule clone to fail #1191

@jasjuang

Description

@jasjuang

Setup

  • Which version of Git for Windows are you using? Is it 32-bit or 64-bit?
$ git --version --build-options

16:03:24.278822 git.c:369               trace: built-in: git 'version' '--build-options'
git version 2.13.0.windows.1
built from commit: eba7af3dbb4c846c6303c5f64102acee696c9ab0
sizeof-long: 4
machine: x86_64
  • Which version of Windows are you running? Vista, 7, 8, 10? Is it 32-bit or 64-bit?
$ cmd.exe /c ver

Microsoft Windows [Version 10.0.14393]
  • What options did you set as part of the installation? Or did you choose the
    defaults?
# One of the following:
> type "C:\Program Files\Git\etc\install-options.txt"
> type "C:\Program Files (x86)\Git\etc\install-options.txt"
> type "%USERPROFILE%\AppData\Local\Programs\Git\etc\install-options.txt"
$ cat /etc/install-options.txt

Path Option: CmdTools
SSH Option: OpenSSH
CURL Option: OpenSSL
CRLF Option: LFOnly
Bash Terminal Option: MinTTY
Performance Tweaks FSCache: Enabled
Use Credential Manager: Disabled
Enable Symlinks: Disabled

Details

  • Which terminal/shell are you running Git from? e.g Bash/CMD/PowerShell/other

CMD

I am on a shared windows machine with other people so the credentials won't be cached, so the below is executed to unset Git-Credential-Manager-for-Windows,

git config --global --unset credential.helper
git config --system --unset credential.helper

However, this causes a problem when I am cloning a repository that contains submodules, for example

git clone https://github.com/jasjuang/test  

This will prompt me to input username and password, and after I input them manually it successfully cloned all the non-submodule components, but, after I do

git submodule update --init --recursive

I get the error

bash: /dev/tty: No such device or address
error: failed to execute prompt script (exit code 1)
fatal: could not read Username for 'https://github.com': No error
fatal: clone of 'https://github.com/jasjunag/submoduletest' into submodule path 'C:/Users/Administrator/Desktop/test/external/submoduletest' failed

In linux, it will prompt me to input username and password again when cloning submodule, and after I input it everything will work fine. Why didn't Windows prompt me to enter the username and password again instead of just failing directly?

I filed an issue at GCM here microsoft/Git-Credential-Manager-for-Windows#434 but the maintainer suggested that this is a git for windows problem.

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