Devolutions / Devolutions/UniGetUI

[BUG] vcpkg dependency check uses git.exe and Winget installation command on macOS

Open Beginner friendly
#5,238 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
26.1k
Forks
924
Avg merge
15h 52m
Merged PRs (30d)
52

Description

### Please confirm these before moving forward

- [x] I searched for an existing issue and did not find a matching report.
- [x] I reproduced this with the latest installed release, UniGetUI 2026.2.7.
- [x] This report describes a bug.

### Environment

- UniGetUI: 2026.2.7, build 107
- macOS: 26.5.2 (25F84)
- Architecture: ARM64
- Hardware: MacBook Air M5 (Mac17,4)
- Git: `/usr/bin/git`, version `2.50.1 (Apple Git-155)`
- vcpkg executable: `/opt/homebrew/bin/vcpkg`
- `VCPKG_ROOT=/Users/tromm/vcpkg`

### Description

When vcpkg is enabled on macOS, UniGetUI reports that Git is missing even though Git is installed, on PATH, and works normally.

The missing-dependency dialog proposes this Windows-only command:

```text
winget install --id Git.Git --exact --source winget
```

Accepting the installation cannot provide a macOS `git.exe`. It also leads into the separate broken automatic-restart path that invokes `powershell.exe`.

### Steps to reproduce

1. Install vcpkg and Git on macOS.
2. Verify:
```sh
command -v git
git --version
command -v vcpkg
```
3. Configure a valid `VCPKG_ROOT`.
4. Start UniGetUI and enable vcpkg.

### Expected behavior

UniGetUI detects `git` on non-Windows platforms and considers the dependency satisfied.

### Actual behavior

UniGetUI reports Git as missing and proposes installing Windows Git through Winget.

### Probable cause

In tag `v2026.2.7`, the vcpkg dependency is defined without an operating-system check:

```csharp
new ManagerDependency(
"Git",
CoreData.PowerShell5,
"-ExecutionPolicy Bypass ... winget install --id Git.Git ...",
"winget install --id Git.Git --exact --source winget",
async () => (await CoreTools.WhichAsync("git.exe")).Item1
)
```

Source:

https://github.com/Devolutions/UniGetUI/blob/v2026.2.7/src/UniGetUI.PackageEngine.Managers.Vcpkg/Vcpkg.cs

On macOS the executable is `git`, not `git.exe`, regardless of whether Apple Git or Homebrew Git is installed.

### Workaround

Mark the Git dependency dialog as skipped. Git and vcpkg continue to work normally outside this incorrect dependency check.

Contributor guide

Open the contributing guide

Research direction

Start in src/UniGetUI.PackageEngine.Managers.Vcpkg/Vcpkg.cs and inspect the vcpkg ManagerDependency definition and its CoreTools.WhichAsync check. Reproduce the dependency check on macOS with the listed git and vcpkg commands. Done means installed git is recognized on macOS and the dialog no longer proposes the Windows-only Winget command.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, git, macos
Domain
tooling
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
70/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.