mirror of
https://github.com/cmderdev/cmder.git
synced 2024-11-10 09:49:12 +08:00
move git functions to git lib
This commit is contained in:
parent
638d82e989
commit
93f8718489
59
vendor/init.bat
vendored
59
vendor/init.bat
vendored
@ -183,9 +183,9 @@ if defined GIT_INSTALL_ROOT (
|
|||||||
:: check if git is in path...
|
:: check if git is in path...
|
||||||
for /F "delims=" %%F in ('where git.exe 2^>nul') do (
|
for /F "delims=" %%F in ('where git.exe 2^>nul') do (
|
||||||
:: get the absolute path to the user provided git binary
|
:: get the absolute path to the user provided git binary
|
||||||
call :is_git_shim "%%~dpF"
|
%lib_git% is_git_shim "%%~dpF"
|
||||||
call :get_user_git_version
|
%lib_git% get_user_git_version
|
||||||
call :compare_git_versions
|
%lib_git% compare_git_versions
|
||||||
)
|
)
|
||||||
|
|
||||||
:: our last hope: our own git...
|
:: our last hope: our own git...
|
||||||
@ -371,56 +371,3 @@ if %time_init% gtr 0 (
|
|||||||
"%cmder_root%\vendor\bin\timer.cmd" %CMDER_INIT_START% %CMDER_INIT_END%
|
"%cmder_root%\vendor\bin\timer.cmd" %CMDER_INIT_START% %CMDER_INIT_END%
|
||||||
)
|
)
|
||||||
exit /b
|
exit /b
|
||||||
|
|
||||||
:is_git_shim
|
|
||||||
pushd "%~1"
|
|
||||||
:: check if there's shim - and if yes follow the path
|
|
||||||
setlocal enabledelayedexpansion
|
|
||||||
if exist git.shim (
|
|
||||||
for /F "tokens=2 delims== " %%I in (git.shim) do (
|
|
||||||
pushd %%~dpI
|
|
||||||
set "test_dir=!CD!"
|
|
||||||
popd
|
|
||||||
)
|
|
||||||
) else (
|
|
||||||
set "test_dir=!CD!"
|
|
||||||
)
|
|
||||||
endlocal & set "test_dir=%test_dir%"
|
|
||||||
|
|
||||||
popd
|
|
||||||
exit /b
|
|
||||||
|
|
||||||
:compare_git_versions
|
|
||||||
if %errorlevel% geq 0 (
|
|
||||||
:: compare the user git version against the vendored version
|
|
||||||
%lib_git% compare_versions USER VENDORED
|
|
||||||
|
|
||||||
:: use the user provided git if its version is greater than, or equal to the vendored git
|
|
||||||
if %errorlevel% geq 0 if exist "%test_dir:~0,-4%\cmd\git.exe" (
|
|
||||||
set "GIT_INSTALL_ROOT=%test_dir:~0,-4%"
|
|
||||||
set test_dir=
|
|
||||||
goto :FOUND_GIT
|
|
||||||
) else if %errorlevel% geq 0 (
|
|
||||||
set "GIT_INSTALL_ROOT=%test_dir%"
|
|
||||||
set test_dir=
|
|
||||||
goto :FOUND_GIT
|
|
||||||
) else (
|
|
||||||
call :verbose_output Found old %GIT_VERSION_USER% in "%test_dir%", but not using...
|
|
||||||
set test_dir=
|
|
||||||
)
|
|
||||||
) else (
|
|
||||||
:: compare the user git version against the vendored version
|
|
||||||
:: if the user provided git executable is not found
|
|
||||||
if %errorlevel% equ -255 (
|
|
||||||
call :verbose_output No git at "%git_executable%" found.
|
|
||||||
set test_dir=
|
|
||||||
)
|
|
||||||
)
|
|
||||||
exit /b
|
|
||||||
|
|
||||||
:get_user_git_version
|
|
||||||
:: get the version information for the user provided git binary
|
|
||||||
%lib_git% read_version USER "%test_dir%"
|
|
||||||
%lib_git% validate_version USER %GIT_VERSION_USER%
|
|
||||||
exit /b
|
|
||||||
|
|
||||||
|
93
vendor/lib/lib_git.cmd
vendored
93
vendor/lib/lib_git.cmd
vendored
@ -183,3 +183,96 @@ exit /b
|
|||||||
|
|
||||||
:: looks like we have the same versions.
|
:: looks like we have the same versions.
|
||||||
endlocal & exit /b 0
|
endlocal & exit /b 0
|
||||||
|
|
||||||
|
:::===============================================================================
|
||||||
|
:::is_git_shim
|
||||||
|
:::.
|
||||||
|
:::include:
|
||||||
|
:::.
|
||||||
|
::: call "$0"
|
||||||
|
:::.
|
||||||
|
:::usage:
|
||||||
|
:::.
|
||||||
|
::: %lib_git% is_git_shim [filepath]
|
||||||
|
:::.
|
||||||
|
:::required:
|
||||||
|
:::.
|
||||||
|
::: [filepath] <in>
|
||||||
|
:::-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
:is_git_shim
|
||||||
|
pushd "%~1"
|
||||||
|
:: check if there's shim - and if yes follow the path
|
||||||
|
setlocal enabledelayedexpansion
|
||||||
|
if exist git.shim (
|
||||||
|
for /F "tokens=2 delims== " %%I in (git.shim) do (
|
||||||
|
pushd %%~dpI
|
||||||
|
set "test_dir=!CD!"
|
||||||
|
popd
|
||||||
|
)
|
||||||
|
) else (
|
||||||
|
set "test_dir=!CD!"
|
||||||
|
)
|
||||||
|
endlocal & set "test_dir=%test_dir%"
|
||||||
|
|
||||||
|
popd
|
||||||
|
exit /b
|
||||||
|
|
||||||
|
:::===============================================================================
|
||||||
|
:::compare_git_versions
|
||||||
|
:::.
|
||||||
|
:::include:
|
||||||
|
:::.
|
||||||
|
::: call "$0"
|
||||||
|
:::.
|
||||||
|
:::usage:
|
||||||
|
:::.
|
||||||
|
::: %lib_git% compare_git_versions
|
||||||
|
:::-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
:compare_git_versions
|
||||||
|
if %errorlevel% geq 0 (
|
||||||
|
:: compare the user git version against the vendored version
|
||||||
|
%lib_git% compare_versions USER VENDORED
|
||||||
|
|
||||||
|
:: use the user provided git if its version is greater than, or equal to the vendored git
|
||||||
|
if %errorlevel% geq 0 if exist "%test_dir:~0,-4%\cmd\git.exe" (
|
||||||
|
set "GIT_INSTALL_ROOT=%test_dir:~0,-4%"
|
||||||
|
set test_dir=
|
||||||
|
goto :FOUND_GIT
|
||||||
|
) else if %errorlevel% geq 0 (
|
||||||
|
set "GIT_INSTALL_ROOT=%test_dir%"
|
||||||
|
set test_dir=
|
||||||
|
goto :FOUND_GIT
|
||||||
|
) else (
|
||||||
|
call :verbose_output Found old %GIT_VERSION_USER% in "%test_dir%", but not using...
|
||||||
|
set test_dir=
|
||||||
|
)
|
||||||
|
) else (
|
||||||
|
:: compare the user git version against the vendored version
|
||||||
|
:: if the user provided git executable is not found
|
||||||
|
if %errorlevel% equ -255 (
|
||||||
|
call :verbose_output No git at "%git_executable%" found.
|
||||||
|
set test_dir=
|
||||||
|
)
|
||||||
|
)
|
||||||
|
exit /b
|
||||||
|
|
||||||
|
:::===============================================================================
|
||||||
|
:::get_user_git_version - get the version information for the user provided git binary
|
||||||
|
:::.
|
||||||
|
:::include:
|
||||||
|
:::.
|
||||||
|
::: call "$0"
|
||||||
|
:::.
|
||||||
|
:::usage:
|
||||||
|
:::.
|
||||||
|
::: %lib_git% get_user_git_version
|
||||||
|
:::-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
:get_user_git_version
|
||||||
|
:: get the version information for the user provided git binary
|
||||||
|
%lib_git% read_version USER "%test_dir%"
|
||||||
|
%lib_git% validate_version USER %GIT_VERSION_USER%
|
||||||
|
exit /b
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user