Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade users to Git Credential Manager Core #305

Merged
merged 5 commits into from Sep 30, 2020

Conversation

dscho
Copy link
Member

@dscho dscho commented Sep 28, 2020

As per GitHub's announcement, password-based authentication is deprecated and will be removed in the near future.

Git Credential Manager for Windows (which is currently still the recommended default in Git for Windows) only supports that method when authenticating with GitHub, and it is unlikely that it will ever learn any other method: Git Credential Manager Core is the designated successor and all of the development effort goes into that project.

So let's upgrade Git Credential Manager for Windows users to Git Credential Manager Core in Git for Windows v2.29.0; upgrading in any later version would most likely be missing the date when GitHub turns off password-based authentication, and that in turn would most likely cause a lot of turmoil with our users.

Git Credential Manager for Windows (or short: GCM(W)) is quite popular,
but due to its reliance on .NET Framework, it is limited to Windows by
nature.

To fix this, Git Credential Manager Core was started, based on .NET
Core, therefore inherently cross-platform. It is the designated
successor of Git Credential Manager for Windows.

GitHub announced that password-based HTTP basic authentication is
deprecated and will be removed "in an upcoming release":
https://github.blog/changelog/2019-08-08-password-based-http-basic-authentication-deprecation-and-removal/

This forces our hand, as GCM(W) only supports password-based HTTP basic
authentication, while GCM Core supports OAuth-based authentication.

So let's upgrade all existing users to Git Credential Manager Core
before they receive nag mails (to stave off hundreds if not thousands of
"bug" reports).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
We just modified the installer to upgrade users of GCM(W) to GCM Core.
Let's do the same for helper-selector users.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
When `git-credential-helper-selector` is not available, we used to
choose GCM(W) as default credential helper. Let's imitate the installer
in upgrading GCM(W) users to GCM Core, for the same reasons.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Copy link
Member

@mjcheetham mjcheetham left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me! One question, do we want to swap the order of GCMW and GCMCore on the "select a helper" page?

GCM Core is the recommended choice now. Let's make that clear from the
beginning.

Suggested by Matthew Cheetham.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Since the "(DEPRECATED)" prefix was added, the text had been cut off on
the right side.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
@dscho
Copy link
Member Author

dscho commented Sep 30, 2020

One question, do we want to swap the order of GCMW and GCMCore on the "select a helper" page?

Good idea! Done. It looks like this now:
image

Copy link
Member

@mjcheetham mjcheetham left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@dscho dscho merged commit 335cf2b into git-for-windows:main Sep 30, 2020
@dscho dscho deleted the upgrade-to-gcm-core branch September 30, 2020 14:58
dscho added a commit that referenced this pull request Sep 30, 2020
Existing Git Credential Manager
for Windows users are now [automatically
upgraded](#305)
to [Git Credential Manager
Core](https://github.com/microsoft/git-credential-manager-core/).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
dscho added a commit to git-for-windows/git-sdk-64 that referenced this pull request Dec 1, 2020
See git-for-windows/build-extra#305.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
dscho added a commit to git-for-windows/git-sdk-32 that referenced this pull request Dec 1, 2020
See git-for-windows/build-extra#305.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants