Using special characters in passwords with Git on Windows

Last week I needed to get new commits of a certain Git and push it to a customer Git hosted on TFS that actually is reachable via VPN.

Git is pretty powerful, so I just had two remotes configured. Getting information from the first git. Actually this is one Git that is hosted within our network. Worked like a charm. -ush it to Git on customer side. I got an errormessage, telling:

Failed to erase credential: Element not found
Authentication failed

What’s that? I really thought I just checked the access to TFS?

Okay, opening a webpage, using the exact link from the git remote and waiting. Had to authenticate. Didn’t work. Mh. Password expired. Entered a new one. This time, with different characters.

Here it was again, intuition. This password didn’t feel right. But I needed to have a new one. A little bit of being creative does fit? Instead of of all other passwords I used by now, it ended with “€€“.

Password had been set, website worked, could access everything. Pretty cool. Pushed the sources, Tortoise Git asks for my credentials… smiled… but not too long. 327ms later (Git can be pretty fast 🙂 ) same error message.

Authentication failed? Again to that web site. Still works.

  • Okay, just googling, what can be the issue? TFS runs, Tortoise git doesn’t?
  • Some seconds later I tried to push via command line. Same error message.
  • This makes me crazy.
  • I stayed in that loop for pretty much an hour. Checking the internet, trying out something, failed, and again.

And then I remembered this small thought, that I had when I entered my new password. Can it really be these special characters? Certainly it won’t be a valid ASCII character, but it should be available to UTF 8, certainly it is.

I expect it to “just” work? As it is always with “expectations”, you can have them, but it doesn’t mean anything.

I removed these special characters.Certainly there are still special ones contained, like !, $ or the like. But nothing too specific.

Guess.

It worked.