On Fri, May 12, 2017 at 10:24:50AM +0200, Matthieu Moy wrote:
Jeff King [off-list ref] writes:
quoted
The only time it should remove an entry is when Git asks it to. And the
only time that happens is when Git sees the credential rejected by the
server (e.g., an HTTP 401 even after we fed the stored credential). I
don't know why that would happen unless there's some non-determinism on
the server.
I did see a case like this where the server was broken temporarily and
rejected one login attempt. In this case the credential store deletes
the entry for that user, and when the server is repaired, the store
still has the entry deleted.
Right, that's inconvenient if your server is flaky, but is the expected
behavior. Git has to throw away the credential so it can stop trying it
and actually prompt you on the next try (and save the result then if it
works).
-Peff