From: Dimitri Kopriwa Date: Wed, 03 Oct 2018 21:35:15 GMT Subject: Re: Fwd: Git credentials not working Message-ID: <9cdc6dc8-a897-471f-a7e3-83cdfdf86fac@gmail.com> In-Reply-To: <20181003204312.GC20709@sigill.intra.peff.net> Thanks everyone. All your answers helped. I found out that the issue was not related to git. I am using semantic-release to perform a release, apparently git-credentials is not working with semantic-release. I did also setup the double authentication and every fix applied on git-credentials were simply useless. Read more here : https://github.com/semantic-release/semantic-release/issues/941#issuecomment-426691824 Thanks a lot for your help and git is the best software ever made thanks! Dimitri Kopriwa On 10/4/18 3:43 AM, Jeff King wrote: > On Thu, Oct 04, 2018 at 02:34:17AM +0700, Dimitri Kopriwa wrote: > >> I have replaced the way I fill the git credentials store, I have verify >> ~/.git-credentials and information are there, the ~/.gitconfig look fine >> too. >> >> I still have 401 error when reading from that file. >> >> This is the paste log : https://paste.gnome.org/pmntlkdw0 >> >> Now that I use git approve, I dont think that I need a custom helper. >> >> Any idea why I still can't log in using git-credential? > Looking at your pastebin, it looks like the server sometimes takes it > and sometimes not. E.g., piping the log through: > > egrep '(Send|Recv) header:' | > perl -lpe 's/^.*?(=>|<=) //' > > I see: > > Send header: GET /example-keys/sample-project.git/info/refs?service=git-upload-pack HTTP/1.1 > Send header: User-Agent: git/2.19.0 > ... > Recv header: HTTP/1.1 401 Unauthorized > Recv header: WWW-Authenticate: Basic realm="GitLab" > ... > Send header: GET /example-keys/sample-project.git/info/refs?service=git-upload-pack HTTP/1.1 > Send header: Authorization: Basic > Send header: User-Agent: git/2.19.0 > ... > Recv header: HTTP/1.1 200 OK > > So that works. But then later we get: > > Send header: GET /example-keys/sample-project.git/info/refs?service=git-upload-pack HTTP/1.1 > Send header: User-Agent: git/2.19.0 > ... > Recv header: HTTP/1.1 401 Unauthorized > Recv header: WWW-Authenticate: Basic realm="GitLab" > ... > Send header: GET /example-keys/sample-project.git/info/refs?service=git-upload-pack HTTP/1.1 > Send header: Authorization: Basic > Send header: User-Agent: git/2.19.0 > ... > Recv header: HTTP/1.1 401 Unauthorized > > And then that causes credential-store to delete the non-working entry, > after which all of them must fail (because you have no working > credential, and presumably no terminal to prompt the user). > > I have no idea why the same request would sometimes be allowed and > sometimes not. It's possible the data is different in those > two times, but I don't know why that would be. It's also possible you're > hitting different load-balancing servers that behave differently. > > -Peff