fix find latest git

This commit is contained in:
Dax T. Games 2022-04-16 10:51:26 -04:00
parent fc00cc8be2
commit ce02fb4a0e
2 changed files with 16 additions and 12 deletions

10
vendor/init.bat vendored
View File

@ -222,7 +222,7 @@ if defined GIT_INSTALL_ROOT (
if exist "%GIT_INSTALL_ROOT%\cmd\git.exe" goto :SPECIFIED_GIT if exist "%GIT_INSTALL_ROOT%\cmd\git.exe" goto :SPECIFIED_GIT
) else if "%fast_init%" == "1" ( ) else if "%fast_init%" == "1" (
if exist "%CMDER_ROOT%\vendor\git-for-windows\cmd\git.exe" ( if exist "%CMDER_ROOT%\vendor\git-for-windows\cmd\git.exe" (
%print_debug% "Skipping Git Auto-Detect!" %print_debug% init.bat "Skipping Git Auto-Detect!"
goto :VENDORED_GIT goto :VENDORED_GIT
) )
) )
@ -249,22 +249,22 @@ for /F "delims=" %%F in ('where git.exe 2^>nul') do (
:VENDORED_GIT :VENDORED_GIT
if exist "%CMDER_ROOT%\vendor\git-for-windows" ( if exist "%CMDER_ROOT%\vendor\git-for-windows" (
set "GIT_INSTALL_ROOT=%CMDER_ROOT%\vendor\git-for-windows" set "GIT_INSTALL_ROOT=%CMDER_ROOT%\vendor\git-for-windows"
%print_debug% "Using vendored Git '%GIT_VERSION_VENDORED%'..." %print_debug% init.bat "Using vendored Git '%GIT_VERSION_VENDORED%'..."
goto :CONFIGURE_GIT goto :CONFIGURE_GIT
) else ( ) else (
goto :NO_GIT goto :NO_GIT
) )
:SPECIFIED_GIT :SPECIFIED_GIT
%print_debug% "Using /GIT_INSTALL_ROOT..." %print_debug% init.bat "Using /GIT_INSTALL_ROOT..."
goto :CONFIGURE_GIT goto :CONFIGURE_GIT
:FOUND_GIT :FOUND_GIT
%print_debug% "Using found Git '%GIT_VERSION_USER%' from '%GIT_INSTALL_ROOT%..." %print_debug% init.bat "Using found Git '%GIT_VERSION_USER%' from '%GIT_INSTALL_ROOT%..."
goto :CONFIGURE_GIT goto :CONFIGURE_GIT
:CONFIGURE_GIT :CONFIGURE_GIT
%print_debug% "Using Git from '%GIT_INSTALL_ROOT%..." %print_debug% init.bat "Using Git from '%GIT_INSTALL_ROOT%..."
:: Add git to the path :: Add git to the path
if exist "%GIT_INSTALL_ROOT%\cmd\git.exe" %lib_path% enhance_path "%GIT_INSTALL_ROOT%\cmd" "" if exist "%GIT_INSTALL_ROOT%\cmd\git.exe" %lib_path% enhance_path "%GIT_INSTALL_ROOT%\cmd" ""

View File

@ -163,9 +163,9 @@ exit /b
:: checks all major, minor, patch and build variables for the given arguments. :: checks all major, minor, patch and build variables for the given arguments.
:: whichever binary that has the most recent version will be used based on the return code. :: whichever binary that has the most recent version will be used based on the return code.
%print_debug% Comparing: %print_debug% ":compare_versions" "Comparing:"
%print_debug% %~1: %USER_MAJOR%.%USER_MINOR%.%USER_PATCH%.%USER_BUILD% %print_debug% ":compare_versions" "%~1: %USER_MAJOR%.%USER_MINOR%.%USER_PATCH%.%USER_BUILD%"
%print_debug% %~2: %VENDORED_MAJOR%.%VENDORED_MINOR%.%VENDORED_PATCH%.%VENDORED_BUILD% %print_debug% ":compare_versions" "%~2: %VENDORED_MAJOR%.%VENDORED_MINOR%.%VENDORED_PATCH%.%VENDORED_BUILD%"
setlocal enabledelayedexpansion setlocal enabledelayedexpansion
if !%~1_MAJOR! GTR !%~2_MAJOR! (endlocal & exit /b 1) if !%~1_MAJOR! GTR !%~2_MAJOR! (endlocal & exit /b 1)
@ -233,23 +233,26 @@ exit /b
setlocal enabledelayedexpansion setlocal enabledelayedexpansion
if ERRORLEVEL 0 ( if ERRORLEVEL 0 (
:: compare the user git version against the vendored version :: compare the user git version against the vendored version
!lib_git! compare_versions USER VENDORED %lib_git% compare_versions USER VENDORED
set result=!ERRORLEVEL!
%print_debug% ":compare_git_versions" "campare versions_result: !result!"
:: use the user provided git if its version is greater than, or equal to the vendored git :: use the user provided git if its version is greater than, or equal to the vendored git
if ERRORLEVEL 0 ( if !result! geq 0 (
if exist "!test_dir:~0,-4!\cmd\git.exe" ( if exist "!test_dir:~0,-4!\cmd\git.exe" (
set "GIT_INSTALL_ROOT=!test_dir:~0,-4!" set "GIT_INSTALL_ROOT=!test_dir:~0,-4!"
) else ( ) else (
set "GIT_INSTALL_ROOT=!test_dir!" set "GIT_INSTALL_ROOT=!test_dir!"
) )
) else ( ) else (
%print_verbose% "Found old !GIT_VERSION_USER! in !test_dir!, but not using..." %print_debug% ":compare_git_versions" "Found old !GIT_VERSION_USER! in !test_dir!, but not using..."
) )
) else ( ) else (
:: compare the user git version against the vendored version :: compare the user git version against the vendored version
:: if the user provided git executable is not found :: if the user provided git executable is not found
IF ERRORLEVEL -255 IF NOT ERRORLEVEL -254 ( IF ERRORLEVEL -255 IF NOT ERRORLEVEL -254 (
%print_verbose% "No git at "!git_executable!" found." :: if not exist "%git_executable%" (
%print_debug% ":compare_git_versions" "No git at "%git_executable%" found."
set test_dir= set test_dir=
) )
) )
@ -272,6 +275,7 @@ exit /b
:get_user_git_version :get_user_git_version
:: get the version information for the user provided git binary :: get the version information for the user provided git binary
%lib_git% read_version USER "%test_dir%" 2>nul %lib_git% read_version USER "%test_dir%" 2>nul
%print_debug% ":get_user_git_version" "get_user_git_version GIT_VERSION_USER: %GIT_VERSION_USER%"
%lib_git% validate_version USER %GIT_VERSION_USER% %lib_git% validate_version USER %GIT_VERSION_USER%
exit /b exit /b