-
Notifications
You must be signed in to change notification settings - Fork 338
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
Detect/install command-line git and invoke #3419
Detect/install command-line git and invoke #3419
Conversation
extensions/GitExtension/FileExplorerGitIntegration/Models/GitCommandRunner.cs
Outdated
Show resolved
Hide resolved
extensions/GitExtension/FileExplorerGitIntegration/Models/GitCommandRunner.cs
Outdated
Show resolved
Hide resolved
extensions/GitExtension/FileExplorerGitIntegration/Models/GitCommandRunner.cs
Outdated
Show resolved
Hide resolved
extensions/GitExtension/FileExplorerGitIntegration/Models/GitCommandRunner.cs
Outdated
Show resolved
Hide resolved
extensions/GitExtension/FileExplorerGitIntegration/Models/GitCommandRunner.cs
Outdated
Show resolved
Hide resolved
extensions/GitExtension/FileExplorerGitIntegration/Models/GitCommandRunner.cs
Outdated
Show resolved
Hide resolved
extensions/GitExtension/FileExplorerGitIntegration/Models/GitCommandRunner.cs
Outdated
Show resolved
Hide resolved
extensions/GitExtension/FileExplorerGitIntegration/Models/GitCommandRunner.cs
Outdated
Show resolved
Hide resolved
extensions/GitExtension/FileExplorerGitIntegration/Models/GitCommandRunner.cs
Outdated
Show resolved
Hide resolved
extensions/GitExtension/FileExplorerGitIntegration/Models/GitCommandRunner.cs
Outdated
Show resolved
Hide resolved
extensions/GitExtension/FileExplorerGitIntegration/Models/GitExeceutableConfigOptions.cs
Show resolved
Hide resolved
extensions/GitExtension/FileExplorerGitIntegration/Models/GitCommandRunner.cs
Outdated
Show resolved
Hide resolved
extensions/GitExtension/FileExplorerGitIntegration/Models/GitCommandRunner.cs
Outdated
Show resolved
Hide resolved
{ | ||
System.Diagnostics.Process.Start("git.exe"); | ||
gitExeFound = true; | ||
StoreGitExeInstallPath("git.exe"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why not run "where git" in cmd and parse the output?
C:>where git
C:\Program Files\Git\cmd\git.exe
D:\work\depot_tools\git.bat
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mostly we're trying to be somewhat resilient to users not having git.exe on the path, and try some sensible fallback directories. But to be fair, the first option we try is the one the path.
Or am I misremembering that "where" depends on the PATH variable?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you're correct where depends on the path variable. my comment was why execute "git.exe" to figure out if its on the path when we have an existing utility that will tell us if it is and precisely in what location.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we're sort of agreeing with each other. From the point of this code, if it's on the PATH, we don't care where it is - we'll just execute git.exe without qualifying the path. The other options are for "Hmm... it's not on PATH. Let's try a few other well-known locations to see if we can find something that works".
extensions/GitExtension/FileExplorerGitIntegration/Models/GitCommandRunner.cs
Outdated
Show resolved
Hide resolved
extensions/GitExtension/FileExplorerGitIntegration/Models/GitCommandRunner.cs
Outdated
Show resolved
Hide resolved
extensions/GitExtension/FileExplorerGitIntegration/Models/GitExecute.cs
Outdated
Show resolved
Hide resolved
extensions/GitExtension/FileExplorerGitIntegration/Models/GitExecute.cs
Outdated
Show resolved
Hide resolved
extensions/GitExtension/FileExplorerGitIntegration/Models/GitExecute.cs
Outdated
Show resolved
Hide resolved
extensions/GitExtension/FileExplorerGitIntegration/Models/GitConfiguration.cs
Outdated
Show resolved
Hide resolved
extensions/GitExtension/FileExplorerGitIntegration/Models/GitConfiguration.cs
Show resolved
Hide resolved
extensions/GitExtension/FileExplorerGitIntegration/Models/GitExecute.cs
Outdated
Show resolved
Hide resolved
97aa4ad
into
feature/fileexplorer-sourcecontrol-integration
* detect git and invoke functionality * address PR comments * address PR feedback * address style comments
* detect git and invoke functionality * address PR comments * address PR feedback * address style comments
* detect git and invoke functionality * address PR comments * address PR feedback * address style comments
Summary of the pull request
This PR adds a new class which allows using the git executable on machine to run commands such as status instead of using libgit2sharp.
This PR also includes basic unit test.
References and relevant issues
Detailed description of the pull request / Additional comments
The main functionality of the class is:
Validation steps performed
Local Build
Release build of msix in Developer Command Prompt
Unit tests
PR checklist