-
Notifications
You must be signed in to change notification settings - Fork 7.2k
Description
Describe the bug
In the vcpkg_from_git command in the portfile one can specify "LFS". In the documentation it states that:
vcpkg_from_git(
OUT_SOURCE_PATH <SOURCE_PATH>
URL <https://android.googlesource.com/platform/external/fdlibm>
REF <59f7335e4d...>
[HEAD_REF <ref>]
[PATCHES <patch1.patch> <patch2.patch>...]
[LFS [<url>]]
)
So, the way I understand it, if the <url> is left empty it should default to URL.
But there seems to be an issue here where if left blank it is possible to get a very obscure and hard to debug git-lfs smudge error:
error: external filter 'git-lfs filter-process' failed
fatal: <path>: smudge filter lfs failed
If a port overlay is created where URL is copied to the LFS entry things work as expected.
Environment
- OS:
- Windows 11,
- build server: windows:ltsc2019
- msvc: 17.14.12 and 17.14.19
- vcpkg: 2025.06.13
Note: The issue does not seem to be reproducible with msvc 17.9 on the build server.
To Reproduce
It seems finicky to reproduce. We have most success reproducing it on a build server with a clean slate.
There we have 100% reproducibility, it should be enough to try and use a package that has the LFS entry in the portfile. It seems if packages have been cached previously the error does not happen.
Expected behavior
The LFS entry should be possible to be left empty and one should not get the smudge error.
Additional context
It is fair to say we might be reading the documentation incorrectly, and the LFS entry must not be left empty.