files-community / files-community/Files

Feature: Use installed git.exe instead of libgit2

Open
#16,738 7 comments 2 reactions 0 assignees View on GitHub
area - git
Dominant language
C#
Stars
45.4k
Forks
2.9k
Avg merge
19h 1m
Merged PRs (30d)
60

Description

### 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](https://code.visualstudio.com/docs/sourcecontrol/faq#_why-is-vs-code-warning-me-that-the-git-repository-is-potentially-unsafe). Files can fall back to libgit2 for basic support if Git is not already installed (unlikely on a developer's machine)

### Requirements

- [ ] Introduce an `IGitService` abstraction and refactor the existing `GitHelpers` implementation to use it
- [ ] Implement existing Git operations through git.exe and use this implementation if git.exe is found
- [ ] Add configuration options

### Files Version

3.8.13

### Windows Version

10.0.27774.1000

### Comments

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.