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

Move Git Credential Manager out of Git's exec path #406

Merged
merged 1 commit into from
Apr 29, 2022

Conversation

dscho
Copy link
Member

@dscho dscho commented Feb 20, 2022

At long last, we do the same with Git Credential Manager as did with Git LFS in a57279d: we move its executables into the regular /mingw64/bin/ directory (or /mingw32/bin/ in i686 setups).

This provides for a cleaner separation between the non-built-in Git commands that are part of core Git (which are supposed to live in Git's exec path) and third-party commands such as Git LFS, Git Credential Manager, or even Git for Windows' git update-git-for-windows and git credential-helper-selector.

It will also open the door for addressing git-for-windows/git#3668 by teaching Git an option to override the standard PATH search behavior for third-party Git commands only (current idea is to look through PATH and not use the first, but the one with the most recent ctime).

The Git Credential Manager is really a stand-alone product and not part
of core Git. But putting its executable into core Git's exec path gave
that misleading impression.

Let's just move it out of the exec path into the regular `bin/`
directory, just like we did with Git LFS in a57279d (Move git-lfs
binary back out of git-core, 2017-04-06).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
@dscho dscho requested a review from mjcheetham February 20, 2022 08:07
@dscho dscho self-assigned this Feb 20, 2022
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.

This looks good to me! It would be good to move ourselves out of the soup of core binaries somewhat.

GCM doesn't have any expectations on its location when bundled (libexec/ or otherwise) so there should be no direct impact on us.

There may/will be impact on those consumers of MinGit that call GCM directly in their applications (such as Visual Studio), and they'll need to update their relative file paths to match this change.

@ldennington for visibility

@dscho dscho merged commit 5d110a5 into git-for-windows:main Apr 29, 2022
@dscho dscho deleted the move-gcm-out-of-libexec branch April 29, 2022 08:45
estalldecker added a commit to estalldecker/WSL that referenced this pull request Jun 15, 2022
The path to git-credential-manager-core.exe has changed according to this [PR](git-for-windows/build-extra#406) and the comments in the [v2.36.1 release notes](https://github.com/git-for-windows/git/releases/tag/v2.36.1.windows.1)
hkuno9000 added a commit to hkuno9000/cygbin that referenced this pull request Apr 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants