Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .github/workflows/scalar-functional-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,24 @@ jobs:
if: runner.os == 'Windows'
uses: git-for-windows/setup-git-for-windows-sdk@v2

- name: Update the Git wrapper for UCRT64
if: runner.os == 'Windows'
shell: pwsh
run: |
# Only needed for the MINGW64 to UCRT64 transition, until
# Actions runners ship Git for Windows v2.56.0 final.
if ($env:MSYSTEM -eq 'UCRT64' -and
!(Test-Path 'C:\Program Files\Git\ucrt64')) {
$url = 'https://github.com/git-for-windows/git/releases'
$url += '/download/v2.56.0-rc0.windows.1'
$zip = Join-Path $env:RUNNER_TEMP 'MinGit.zip'
Invoke-WebRequest -Uri "$url/MinGit-2.56.0-rc0-64-bit.zip" `
-OutFile $zip
& "$env:SystemRoot\System32\tar.exe" -xf $zip `
-C 'C:\Program Files\Git' cmd/git.exe cmd/scalar.exe
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
}

- name: Provide a minimal `install` on Windows
if: runner.os == 'Windows'
shell: bash
Expand Down
19 changes: 19 additions & 0 deletions .github/workflows/vfs-functional-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,13 @@ jobs:

make -j5 DESTDIR="$GITHUB_WORKSPACE/MicrosoftGit/payload/${{ matrix.architecture }}" install

# The test runners still ship the MINGW64 runtime.
if test "$MSYSTEM" = UCRT64
then
cp /ucrt64/bin/*.dll \
"$GITHUB_WORKSPACE/MicrosoftGit/payload/x86_64/ucrt64/bin/"
fi

- name: Upload Git artifact
uses: actions/upload-artifact@v7
with:
Expand Down Expand Up @@ -136,6 +143,18 @@ jobs:
) else (
set GIT_PAYLOAD=%~dp0payload\x86_64
)
rem Only needed for the MINGW64 to UCRT64 transition, until
rem Actions runners ship Git for Windows v2.56.0 final.
if not exist "%GIT_PAYLOAD%\ucrt64\bin\git.exe" goto install_git
if exist "C:\Program Files\Git\ucrt64" goto install_git
set "MINGIT_URL=https://github.com/git-for-windows/git/releases"
set "MINGIT_URL=%MINGIT_URL%/download/v2.56.0-rc0.windows.1"
"%SYSTEMROOT%\System32\curl.exe" -fL ^
"%MINGIT_URL%/MinGit-2.56.0-rc0-64-bit.zip" ^
-o "%RUNNER_TEMP%\MinGit.zip" || exit /b 1
"%SYSTEMROOT%\System32\tar.exe" -xf "%RUNNER_TEMP%\MinGit.zip" ^
-C "C:\Program Files\Git" cmd/git.exe || exit /b 1
:install_git
echo Installing Git from %GIT_PAYLOAD% to "C:\Program Files\Git"...
robocopy "%GIT_PAYLOAD%" "C:\Program Files\Git" /E /NFL /NDL /NJH /NJS /NS /NC
if %ERRORLEVEL% GEQ 8 exit /b %ERRORLEVEL%
Expand Down
11 changes: 11 additions & 0 deletions Documentation/config/gvfs.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -55,3 +55,14 @@ gvfs.prefetchThreads::
index-pack execution, which can significantly speed up the
installation of multiple prefetch packs. Values less than `1` are
treated as `1`.

gvfs.postThreads::
Comment thread
derrickstolee marked this conversation as resolved.
Set the number of parallel workers used when fetching objects
via HTTP POST requests. Each worker creates its own HTTP
connection and streams the response directly into an
`index-pack --stdin` child process. The default value is `1`,
which processes POST requests sequentially using the existing
code path. Setting this to a higher value (for example `4`)
downloads multiple batches of objects concurrently when the POST
block size is at least `100`. Values less than `1` are treated as
`1`.
2 changes: 1 addition & 1 deletion contrib/buildsystems/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -284,7 +284,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
OVERRIDE_STRDUP MMAP_PREVENTS_DELETE USE_WIN32_MMAP
HAVE_WPGMPTR HAVE_RTLGENRANDOM)
if(CMAKE_GENERATOR_PLATFORM STREQUAL "x64")
add_compile_definitions(ENSURE_MSYSTEM_IS_SET="MINGW64" MINGW_PREFIX="mingw64")
add_compile_definitions(ENSURE_MSYSTEM_IS_SET="UCRT64" MINGW_PREFIX="ucrt64")
elseif(CMAKE_GENERATOR_PLATFORM STREQUAL "arm64")
add_compile_definitions(ENSURE_MSYSTEM_IS_SET="CLANGARM64" MINGW_PREFIX="clangarm64")
elseif(CMAKE_GENERATOR_PLATFORM STREQUAL "x86")
Expand Down
Loading
Loading