-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
Feature: Use installed git.exe instead of libgit2 #16738
Comments
I wrote just the thing for this! |
I remember someone told me porcelain is better, perhaps you, and I think this is a good idea. Here's my thoughts: I have been thinking about this being a standalone class like below and I think this would be instantiated through GitRepositoryFactory static class (e.g. public static class GitRepositoryFactory
{
private Dictionary<string, GitRepository> lookupTable = [];
public GitRepository? GetOrCreate(string path) {}
} public partial sealed class GitRepository : IDisposable
{
public GitRepository(string rootPath) {} // Ideally, not string but IFolder in the future.
} I still haven't evaluate how difficult this is and how suitable this is so I can't say which is better for now but IGitRepositorySevice would work in this current codebase and be easier. |
I need more time to review the full proposal, but we can certainly implement an abstraction for the existing git implementation. |
What feature or improvement do you think would benefit Files?
Having this as an option would allow Files to easily support the full range of Git features, including automatically respecting the user's Git settings, using any authentication methods they have already configured, and pushing to ssh remotes. This is a fairly common way of implementing Git support, seen in software like vscode. Files can fall back to libgit2 for basic support if Git is not already installed (unlikely on a developer's machine)
Requirements
IGitService
abstraction and refactor the existingGitHelpers
implementation to use itFiles Version
3.8.13
Windows Version
10.0.27774.1000
Comments
No response
The text was updated successfully, but these errors were encountered: