2016-03-07 05:40:06 +08:00
|
|
|
@echo off
|
|
|
|
|
2013-09-29 02:38:52 +08:00
|
|
|
:: Init Script for cmd.exe
|
|
|
|
:: Created as part of cmder project
|
|
|
|
|
2015-08-26 01:44:23 +08:00
|
|
|
:: !!! THIS FILE IS OVERWRITTEN WHEN CMDER IS UPDATED
|
2015-11-25 07:23:04 +08:00
|
|
|
:: !!! Use "%CMDER_ROOT%\config\user-profile.cmd" to add your own startup commands
|
2015-08-26 01:44:23 +08:00
|
|
|
|
2018-03-13 23:38:27 +08:00
|
|
|
:: Use /v command line arg or set to > 0 for verbose output to aid in debugging.
|
|
|
|
set verbose-output=0
|
|
|
|
set debug-output=0
|
|
|
|
set max_depth=1
|
2016-05-08 03:20:24 +08:00
|
|
|
|
2014-03-13 23:48:50 +08:00
|
|
|
:: Find root dir
|
2016-03-07 05:40:06 +08:00
|
|
|
if not defined CMDER_ROOT (
|
2017-06-23 17:48:03 +08:00
|
|
|
if defined ConEmuDir (
|
2018-03-13 23:38:27 +08:00
|
|
|
for /f "delims=" %%i in ("%ConEmuDir%\..\..") do (
|
|
|
|
set "CMDER_ROOT=%%~fi"
|
|
|
|
)
|
2017-06-23 17:48:03 +08:00
|
|
|
) else (
|
2018-03-13 23:38:27 +08:00
|
|
|
for /f "delims=" %%i in ("%~dp0\..") do (
|
|
|
|
set "CMDER_ROOT=%%~fi"
|
|
|
|
)
|
2017-06-23 17:48:03 +08:00
|
|
|
)
|
2014-03-13 23:48:50 +08:00
|
|
|
)
|
|
|
|
|
2018-03-13 23:38:27 +08:00
|
|
|
:: Remove trailing '\' from %CMDER_ROOT%
|
2016-05-06 04:29:58 +08:00
|
|
|
if "%CMDER_ROOT:~-1%" == "\" SET "CMDER_ROOT=%CMDER_ROOT:~0,-1%"
|
Added/enhanced bash with cmder.sh/user-cmder.sh, organized tasks menu
added personal files to .gitignore so they never get uploaded to the repo and added support for msys2 bash in the new git for windows
added autocreate of config/user-cmder.sh if iot does not exist and added it to the .gitignore
Added tasks: cmd::Cmder, cmd::Cmder as Admin, bash::bash, bash::bash as Admin, bash::mintty, bash::mintty as admin, powershell::powershell, powershell::powershell as Admin. Set default task to cmd::Cmder. Cot rid of init.bat running before /bin/bash, fixes double exit requirement
Added running git for windows post-install.bat on first cmder launch
fixed file/path not found errors when launching powershell as admin
fixed file/path not found errors when launching bash/mintty as admin
fixed PATH in vendor/cmder.sh
Added sourcing ~/.bashrc if it exists.
changed .gitignore to ignore anything with path of config/user-*
removed my personal files from .gitignore, left in config/user-*
Make sure $CMDER_ROOT does not have a trailing '/'
%CMDER_ROOT% does not have trailing '\'. allow user to specify a conemu.xml on the command line
Removed '\' from %CMDER_ROOT%
2015-11-09 11:25:42 +08:00
|
|
|
|
2018-03-23 22:20:07 +08:00
|
|
|
call "%cmder_root%\vendor\lib\lib_base"
|
|
|
|
call "%cmder_root%\vendor\lib\lib_path"
|
|
|
|
call "%cmder_root%\vendor\lib\lib_console"
|
|
|
|
call "%cmder_root%\vendor\lib\lib_git"
|
|
|
|
call "%cmder_root%\vendor\lib\lib_profile"
|
|
|
|
|
2018-03-13 23:38:27 +08:00
|
|
|
:var_loop
|
|
|
|
if "%~1" == "" (
|
|
|
|
goto :start
|
2018-04-04 01:20:49 +08:00
|
|
|
) else if /i "%1"=="/v" (
|
2018-03-13 23:38:27 +08:00
|
|
|
set verbose-output=1
|
2018-04-04 01:20:49 +08:00
|
|
|
) else if /i "%1"=="/d" (
|
2018-03-13 23:38:27 +08:00
|
|
|
set debug-output=1
|
2018-04-04 01:20:49 +08:00
|
|
|
) else if /i "%1" == "/max_depth" (
|
2018-03-13 23:38:27 +08:00
|
|
|
if "%~2" geq "1" if "%~2" leq "5" (
|
|
|
|
set "max_depth=%~2"
|
|
|
|
shift
|
|
|
|
) else (
|
2018-03-23 22:20:07 +08:00
|
|
|
%lib_console% show_error "'/max_depth' requires a number between 1 and 5!"
|
2018-03-13 23:38:27 +08:00
|
|
|
exit /b
|
|
|
|
)
|
2018-04-04 01:20:49 +08:00
|
|
|
) else if /i "%1" == "/c" (
|
2018-03-13 23:38:27 +08:00
|
|
|
if exist "%~2" (
|
|
|
|
if not exist "%~2\bin" mkdir "%~2\bin"
|
|
|
|
set "cmder_user_bin=%~2\bin"
|
|
|
|
if not exist "%~2\config\profile.d" mkdir "%~2\config\profile.d"
|
|
|
|
set "cmder_user_config=%~2\config"
|
|
|
|
shift
|
|
|
|
)
|
2018-04-04 01:20:49 +08:00
|
|
|
) else if /i "%1" == "/user_aliases" (
|
2018-03-13 23:38:27 +08:00
|
|
|
if exist "%~2" (
|
|
|
|
set "user-aliases=%~2"
|
|
|
|
shift
|
|
|
|
)
|
2018-04-04 01:20:49 +08:00
|
|
|
) else if /i "%1" == "/git_install_root" (
|
2018-03-13 23:38:27 +08:00
|
|
|
if exist "%~2" (
|
|
|
|
set "GIT_INSTALL_ROOT=%~2"
|
|
|
|
shift
|
|
|
|
) else (
|
2018-03-23 22:20:07 +08:00
|
|
|
%lib_console% show_error "The Git install root folder "%~2", you specified does not exist!"
|
2018-03-13 23:38:27 +08:00
|
|
|
exit /b
|
|
|
|
)
|
2018-04-04 01:20:49 +08:00
|
|
|
) else if /i "%1" == "/home" (
|
2018-03-13 23:38:27 +08:00
|
|
|
if exist "%~2" (
|
|
|
|
set "HOME=%~2"
|
|
|
|
shift
|
|
|
|
) else (
|
2018-03-23 22:20:07 +08:00
|
|
|
%lib_console% show_error The home folder "%2", you specified does not exist!
|
2018-03-13 23:38:27 +08:00
|
|
|
exit /b
|
|
|
|
)
|
2018-04-04 01:20:49 +08:00
|
|
|
) else if /i "%1" == "/svn_ssh" (
|
2018-03-13 23:38:27 +08:00
|
|
|
set SVN_SSH=%2
|
|
|
|
shift
|
|
|
|
)
|
|
|
|
shift
|
|
|
|
goto var_loop
|
|
|
|
|
|
|
|
:start
|
2018-03-23 22:20:07 +08:00
|
|
|
%lib_console% debug-output init.bat "Env Var - CMDER_ROOT=%CMDER_ROOT%"
|
|
|
|
%lib_console% debug-output init.bat "Env Var - debug-output=%debug-output%"
|
2018-03-13 23:38:27 +08:00
|
|
|
|
|
|
|
if defined CMDER_USER_CONFIG (
|
2018-03-23 22:20:07 +08:00
|
|
|
%lib_console% debug-output init.bat "CMDER IS ALSO USING INDIVIDUAL USER CONFIG FROM '%CMDER_USER_CONFIG%'!"
|
2018-03-13 23:38:27 +08:00
|
|
|
)
|
|
|
|
|
2013-07-09 15:43:50 +08:00
|
|
|
:: Pick right version of clink
|
2016-03-07 05:40:06 +08:00
|
|
|
if "%PROCESSOR_ARCHITECTURE%"=="x86" (
|
2013-07-09 15:43:50 +08:00
|
|
|
set architecture=86
|
2018-03-13 23:38:27 +08:00
|
|
|
set architecture_bits=32
|
2013-07-09 15:43:50 +08:00
|
|
|
) else (
|
|
|
|
set architecture=64
|
2018-03-13 23:38:27 +08:00
|
|
|
set architecture_bits=64
|
2013-07-09 15:43:50 +08:00
|
|
|
)
|
|
|
|
|
2016-01-09 19:43:52 +08:00
|
|
|
:: Tell the user about the clink config files...
|
2018-03-13 23:38:27 +08:00
|
|
|
if defined "%CMDER_USER_CONFIG%\settings" if not exist "%CMDER_USER_CONFIG%\settings" (
|
|
|
|
echo Generating clink initial settings in "%CMDER_USER_CONFIG%\settings"
|
|
|
|
echo Additional *.lua files in "%CMDER_USER_CONFIG%" are loaded on startup.\
|
|
|
|
|
|
|
|
} else if not exist "%CMDER_ROOT%\config\settings" (
|
2016-05-06 04:29:58 +08:00
|
|
|
echo Generating clink initial settings in "%CMDER_ROOT%\config\settings"
|
|
|
|
echo Additional *.lua files in "%CMDER_ROOT%\config" are loaded on startup.
|
2016-03-22 03:35:48 +08:00
|
|
|
)
|
2016-01-09 19:43:52 +08:00
|
|
|
|
2013-07-09 15:43:50 +08:00
|
|
|
:: Run clink
|
2018-03-13 23:38:27 +08:00
|
|
|
if defined CMDER_USER_CONFIG (
|
|
|
|
"%CMDER_ROOT%\vendor\clink\clink_x%architecture%.exe" inject --quiet --profile "%CMDER_USER_CONFIG%" --scripts "%CMDER_ROOT%\vendor"
|
|
|
|
) else (
|
|
|
|
"%CMDER_ROOT%\vendor\clink\clink_x%architecture%.exe" inject --quiet --profile "%CMDER_ROOT%\config" --scripts "%CMDER_ROOT%\vendor"
|
|
|
|
)
|
2013-07-09 15:43:50 +08:00
|
|
|
|
2015-08-24 02:09:06 +08:00
|
|
|
:: Prepare for git-for-windows
|
2013-11-04 01:04:36 +08:00
|
|
|
|
2013-09-29 02:38:52 +08:00
|
|
|
:: I do not even know, copypasted from their .bat
|
2016-03-07 05:40:06 +08:00
|
|
|
set PLINK_PROTOCOL=ssh
|
|
|
|
if not defined TERM set TERM=cygwin
|
2013-07-16 05:45:25 +08:00
|
|
|
|
2016-03-03 00:30:45 +08:00
|
|
|
:: The idea:
|
|
|
|
:: * if the users points as to a specific git, use that
|
|
|
|
:: * test if a git is in path and if yes, use that
|
|
|
|
:: * last, use our vendored git
|
2018-02-23 03:20:08 +08:00
|
|
|
:: also check that we have a recent enough version of git by examining the version string
|
2016-04-08 22:55:49 +08:00
|
|
|
if defined GIT_INSTALL_ROOT (
|
2018-03-23 22:20:07 +08:00
|
|
|
if exist "%GIT_INSTALL_ROOT%\cmd\git.exe" goto :FOUND_GIT)
|
2016-03-03 00:30:45 +08:00
|
|
|
)
|
|
|
|
|
2018-02-23 03:20:08 +08:00
|
|
|
:: get the version information for vendored git binary
|
|
|
|
setlocal enabledelayedexpansion
|
2018-03-23 22:20:07 +08:00
|
|
|
%lib_git% read_version VENDORED "%CMDER_ROOT%\vendor\git-for-windows\cmd"
|
|
|
|
%lib_git% validate_version VENDORED !GIT_VERSION_VENDORED!
|
2018-02-23 03:20:08 +08:00
|
|
|
|
2016-03-03 00:30:45 +08:00
|
|
|
:: check if git is in path...
|
2018-03-13 23:38:27 +08:00
|
|
|
for /F "delims=" %%F in ('where git.exe 2^>nul') do (
|
2018-02-23 03:20:08 +08:00
|
|
|
:: get the absolute path to the user provided git binary
|
2016-03-03 00:30:45 +08:00
|
|
|
pushd %%~dpF
|
|
|
|
set "test_dir=!CD!"
|
|
|
|
popd
|
2018-02-23 03:20:08 +08:00
|
|
|
|
|
|
|
:: get the version information for the user provided git binary
|
2018-03-23 22:20:07 +08:00
|
|
|
%lib_git% read_version USER "!test_dir!"
|
|
|
|
%lib_git% validate_version USER !GIT_VERSION_USER!
|
2018-02-23 03:20:08 +08:00
|
|
|
|
|
|
|
if !errorlevel! geq 0 (
|
|
|
|
:: compare the user git version against the vendored version
|
2018-03-23 22:20:07 +08:00
|
|
|
%lib_git% compare_versions USER VENDORED
|
2018-02-23 03:20:08 +08:00
|
|
|
|
|
|
|
:: use the user provided git if its version is greater than, or equal to the vendored git
|
2018-03-13 23:38:27 +08:00
|
|
|
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 (
|
2018-02-23 03:20:08 +08:00
|
|
|
set "GIT_INSTALL_ROOT=!test_dir!"
|
|
|
|
set test_dir=
|
|
|
|
goto :FOUND_GIT
|
|
|
|
) else (
|
2018-03-13 23:38:27 +08:00
|
|
|
call :verbose-output Found old !GIT_VERSION_USER! in "!test_dir!", but not using...
|
2018-02-23 03:20:08 +08:00
|
|
|
set test_dir=
|
|
|
|
)
|
2016-03-03 00:30:45 +08:00
|
|
|
) else (
|
2018-02-23 03:20:08 +08:00
|
|
|
|
|
|
|
:: if the user provided git executable is not found
|
|
|
|
if !errorlevel! equ -255 (
|
2018-03-13 23:38:27 +08:00
|
|
|
call :verbose-output No git at "!git_executable!" found.
|
2018-02-23 03:20:08 +08:00
|
|
|
set test_dir=
|
|
|
|
)
|
|
|
|
|
2016-03-03 00:30:45 +08:00
|
|
|
)
|
2018-02-23 03:20:08 +08:00
|
|
|
|
2016-03-03 00:30:45 +08:00
|
|
|
)
|
2016-03-03 00:51:15 +08:00
|
|
|
|
2016-03-03 00:30:45 +08:00
|
|
|
:: our last hope: our own git...
|
|
|
|
:VENDORED_GIT
|
2016-04-08 22:55:49 +08:00
|
|
|
if exist "%CMDER_ROOT%\vendor\git-for-windows" (
|
2015-08-24 02:09:06 +08:00
|
|
|
set "GIT_INSTALL_ROOT=%CMDER_ROOT%\vendor\git-for-windows"
|
2018-04-04 01:20:49 +08:00
|
|
|
%lib_path% enhance_path "!GIT_INSTALL_ROOT!\cmd"
|
2016-03-03 00:30:45 +08:00
|
|
|
) else (
|
|
|
|
goto :NO_GIT
|
2015-01-10 16:59:18 +08:00
|
|
|
)
|
|
|
|
|
2016-03-03 00:30:45 +08:00
|
|
|
:FOUND_GIT
|
2015-01-10 16:59:18 +08:00
|
|
|
:: Add git to the path
|
2016-04-08 22:55:49 +08:00
|
|
|
if defined GIT_INSTALL_ROOT (
|
2016-03-03 01:25:25 +08:00
|
|
|
rem add the unix commands at the end to not shadow windows commands like more
|
2018-03-23 22:20:07 +08:00
|
|
|
if exist "!GIT_INSTALL_ROOT!\cmd\git.exe" %lib_path% enhance_path "!GIT_INSTALL_ROOT!\cmd" append
|
2018-03-13 23:38:27 +08:00
|
|
|
if exist "!GIT_INSTALL_ROOT!\mingw32" (
|
2018-03-23 22:20:07 +08:00
|
|
|
%lib_path% enhance_path "!GIT_INSTALL_ROOT!\mingw32" append
|
2018-03-13 23:38:27 +08:00
|
|
|
) else if exist "!GIT_INSTALL_ROOT!\mingw64" (
|
2018-03-23 22:20:07 +08:00
|
|
|
%lib_path% enhance_path "!GIT_INSTALL_ROOT!\mingw64" append
|
2018-03-13 23:38:27 +08:00
|
|
|
)
|
2018-04-27 07:06:18 +08:00
|
|
|
%lib_path% enhance_path "!GIT_INSTALL_ROOT!\usr\bin" append
|
2018-03-23 22:20:07 +08:00
|
|
|
|
2015-01-10 16:59:18 +08:00
|
|
|
:: define SVN_SSH so we can use git svn with ssh svn repositories
|
|
|
|
if not defined SVN_SSH set "SVN_SSH=%GIT_INSTALL_ROOT:\=\\%\\bin\\ssh.exe"
|
|
|
|
)
|
|
|
|
|
2016-03-03 00:30:45 +08:00
|
|
|
:NO_GIT
|
2018-04-27 07:06:18 +08:00
|
|
|
endlocal & set "PATH=%PATH%" & set "SVN_SSH=%SVN_SSH%" & set "GIT_INSTALL_ROOT=!GIT_INSTALL_ROOT!"
|
|
|
|
%lib_console% debug-output init.bat "Env Var - GIT_INSTALL_ROOT=!GIT_INSTALL_ROOT!"
|
2016-03-03 00:30:45 +08:00
|
|
|
|
2013-07-09 15:43:50 +08:00
|
|
|
:: Enhance Path
|
2018-04-04 01:20:49 +08:00
|
|
|
%lib_path% enhance_path_recursive "%CMDER_ROOT%\bin" %max_depth%
|
2018-03-13 23:38:27 +08:00
|
|
|
if defined CMDER_USER_BIN (
|
2018-03-23 22:20:07 +08:00
|
|
|
%lib_path% enhance_path_recursive "%CMDER_USER_BIN%" %max_depth%
|
2018-03-13 23:38:27 +08:00
|
|
|
)
|
2018-03-23 22:20:07 +08:00
|
|
|
%lib_path% enhance_path "%CMDER_ROOT%" append
|
2013-07-16 05:45:25 +08:00
|
|
|
|
2016-03-07 22:12:50 +08:00
|
|
|
:: Drop *.bat and *.cmd files into "%CMDER_ROOT%\config\profile.d"
|
|
|
|
:: to run them at startup.
|
2018-03-23 22:20:07 +08:00
|
|
|
%lib_profile% run_profile_d "%CMDER_ROOT%\config\profile.d"
|
2018-03-13 23:38:27 +08:00
|
|
|
if defined CMDER_USER_CONFIG (
|
2018-03-23 22:20:07 +08:00
|
|
|
%lib_profile% run_profile_d "%CMDER_USER_CONFIG%\profile.d"
|
2016-03-07 22:12:50 +08:00
|
|
|
)
|
2015-11-25 06:38:26 +08:00
|
|
|
|
2016-03-20 21:30:20 +08:00
|
|
|
:: Allows user to override default aliases store using profile.d
|
2016-05-08 07:10:44 +08:00
|
|
|
:: scripts run above by setting the 'aliases' env variable.
|
2016-05-07 23:56:08 +08:00
|
|
|
::
|
|
|
|
:: Note: If overriding default aliases store file the aliases
|
|
|
|
:: must also be self executing, see '.\user-aliases.cmd.example',
|
|
|
|
:: and be in profile.d folder.
|
2018-03-13 23:38:27 +08:00
|
|
|
if not defined user-aliases (
|
|
|
|
if defined CMDER_USER_CONFIG (
|
|
|
|
set "user-aliases=%CMDER_USER_CONFIG%\user-aliases.cmd"
|
|
|
|
) else (
|
|
|
|
set "user-aliases=%CMDER_ROOT%\config\user-aliases.cmd"
|
|
|
|
)
|
|
|
|
)
|
2016-05-08 03:20:24 +08:00
|
|
|
|
|
|
|
:: The aliases environment variable is used by alias.bat to id
|
|
|
|
:: the default file to store new aliases in.
|
2016-03-20 21:30:20 +08:00
|
|
|
if not defined aliases (
|
2016-05-06 21:06:59 +08:00
|
|
|
set "aliases=%user-aliases%"
|
2016-03-22 03:35:48 +08:00
|
|
|
)
|
|
|
|
|
2016-05-08 03:20:24 +08:00
|
|
|
:: Make sure we have a self-extracting user-aliases.cmd file
|
|
|
|
setlocal enabledelayedexpansion
|
2016-03-22 03:35:48 +08:00
|
|
|
if not exist "%user-aliases%" (
|
2016-11-11 01:04:37 +08:00
|
|
|
echo Creating initial user-aliases store in "%user-aliases%"...
|
2016-05-08 03:20:24 +08:00
|
|
|
copy "%CMDER_ROOT%\vendor\user-aliases.cmd.example" "%user-aliases%"
|
|
|
|
) else (
|
|
|
|
type "%user-aliases%" | findstr /i ";= Add aliases below here" >nul
|
|
|
|
if "!errorlevel!" == "1" (
|
2016-11-11 01:04:37 +08:00
|
|
|
echo Creating initial user-aliases store in "%user-aliases%"...
|
2018-03-13 23:38:27 +08:00
|
|
|
if defined CMDER_USER_CONFIG (
|
|
|
|
copy "%user-aliases%" "%user-aliases%.old_format"
|
|
|
|
copy "%CMDER_ROOT%\vendor\user-aliases.cmd.example" "%user-aliases%"
|
|
|
|
) else (
|
|
|
|
copy "%user-aliases%" "%user-aliases%.old_format"
|
|
|
|
copy "%CMDER_ROOT%\vendor\user-aliases.cmd.example" "%user-aliases%"
|
|
|
|
)
|
2016-05-08 03:20:24 +08:00
|
|
|
)
|
2016-03-02 10:30:51 +08:00
|
|
|
)
|
2015-11-25 06:38:26 +08:00
|
|
|
|
2016-03-22 03:35:48 +08:00
|
|
|
:: Update old 'user-aliases' to new self executing 'user-aliases.cmd'
|
|
|
|
if exist "%CMDER_ROOT%\config\aliases" (
|
|
|
|
echo Updating old "%CMDER_ROOT%\config\aliases" to new format...
|
|
|
|
type "%CMDER_ROOT%\config\aliases" >> "%user-aliases%" && del "%CMDER_ROOT%\config\aliases"
|
2016-05-08 03:20:24 +08:00
|
|
|
) else if exist "%user-aliases%.old_format" (
|
|
|
|
echo Updating old "%user-aliases%" to new format...
|
|
|
|
type "%user-aliases%.old_format" >> "%user-aliases%" && del "%user-aliases%.old_format"
|
2016-03-20 21:30:20 +08:00
|
|
|
)
|
2016-05-08 03:20:24 +08:00
|
|
|
endlocal
|
2018-03-13 23:38:27 +08:00
|
|
|
|
2016-03-22 03:35:48 +08:00
|
|
|
:: Add aliases to the environment
|
|
|
|
call "%user-aliases%"
|
|
|
|
|
Added/enhanced bash with cmder.sh/user-cmder.sh, organized tasks menu
added personal files to .gitignore so they never get uploaded to the repo and added support for msys2 bash in the new git for windows
added autocreate of config/user-cmder.sh if iot does not exist and added it to the .gitignore
Added tasks: cmd::Cmder, cmd::Cmder as Admin, bash::bash, bash::bash as Admin, bash::mintty, bash::mintty as admin, powershell::powershell, powershell::powershell as Admin. Set default task to cmd::Cmder. Cot rid of init.bat running before /bin/bash, fixes double exit requirement
Added running git for windows post-install.bat on first cmder launch
fixed file/path not found errors when launching powershell as admin
fixed file/path not found errors when launching bash/mintty as admin
fixed PATH in vendor/cmder.sh
Added sourcing ~/.bashrc if it exists.
changed .gitignore to ignore anything with path of config/user-*
removed my personal files from .gitignore, left in config/user-*
Make sure $CMDER_ROOT does not have a trailing '/'
%CMDER_ROOT% does not have trailing '\'. allow user to specify a conemu.xml on the command line
Removed '\' from %CMDER_ROOT%
2015-11-09 11:25:42 +08:00
|
|
|
:: See vendor\git-for-windows\README.portable for why we do this
|
|
|
|
:: Basically we need to execute this post-install.bat because we are
|
|
|
|
:: manually extracting the archive rather than executing the 7z sfx
|
2018-03-13 23:38:27 +08:00
|
|
|
if exist "%GIT_INSTALL_ROOT%\post-install.bat" (
|
2018-03-23 22:20:07 +08:00
|
|
|
%lib_console% verbose-output "Running Git for Windows one time Post Install...."
|
2018-03-13 23:38:27 +08:00
|
|
|
pushd "%GIT_INSTALL_ROOT%\"
|
|
|
|
"%GIT_INSTALL_ROOT%\git-bash.exe" --no-needs-console --hide --no-cd --command=post-install.bat
|
2017-11-11 00:05:47 +08:00
|
|
|
popd
|
Added/enhanced bash with cmder.sh/user-cmder.sh, organized tasks menu
added personal files to .gitignore so they never get uploaded to the repo and added support for msys2 bash in the new git for windows
added autocreate of config/user-cmder.sh if iot does not exist and added it to the .gitignore
Added tasks: cmd::Cmder, cmd::Cmder as Admin, bash::bash, bash::bash as Admin, bash::mintty, bash::mintty as admin, powershell::powershell, powershell::powershell as Admin. Set default task to cmd::Cmder. Cot rid of init.bat running before /bin/bash, fixes double exit requirement
Added running git for windows post-install.bat on first cmder launch
fixed file/path not found errors when launching powershell as admin
fixed file/path not found errors when launching bash/mintty as admin
fixed PATH in vendor/cmder.sh
Added sourcing ~/.bashrc if it exists.
changed .gitignore to ignore anything with path of config/user-*
removed my personal files from .gitignore, left in config/user-*
Make sure $CMDER_ROOT does not have a trailing '/'
%CMDER_ROOT% does not have trailing '\'. allow user to specify a conemu.xml on the command line
Removed '\' from %CMDER_ROOT%
2015-11-09 11:25:42 +08:00
|
|
|
)
|
|
|
|
|
2013-11-16 00:06:15 +08:00
|
|
|
:: Set home path
|
2016-05-06 21:06:59 +08:00
|
|
|
if not defined HOME set "HOME=%USERPROFILE%"
|
2018-03-23 22:20:07 +08:00
|
|
|
%lib_console% debug-output init.bat "Env Var - HOME=%HOME%"
|
2013-12-07 22:17:35 +08:00
|
|
|
|
2018-04-04 01:20:49 +08:00
|
|
|
set "initialConfig=%CMDER_ROOT%\config\user-profile.cmd"
|
2016-03-07 05:40:06 +08:00
|
|
|
if exist "%CMDER_ROOT%\config\user-profile.cmd" (
|
2016-05-08 03:20:24 +08:00
|
|
|
REM Create this file and place your own command in there
|
2015-11-25 07:23:04 +08:00
|
|
|
call "%CMDER_ROOT%\config\user-profile.cmd"
|
2018-03-13 23:38:27 +08:00
|
|
|
)
|
|
|
|
|
2018-04-04 01:20:49 +08:00
|
|
|
if defined CMDER_USER_CONFIG (
|
|
|
|
set "initialConfig=%CMDER_USER_CONFIG%\user-profile.cmd"
|
|
|
|
if exist "%CMDER_USER_CONFIG%\user-profile.cmd" (
|
|
|
|
REM Create this file and place your own command in there
|
|
|
|
call "%CMDER_USER_CONFIG%\user-profile.cmd"
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
if not exist "%initialConfig%" (
|
|
|
|
echo Creating user startup file: "%initialConfig%"
|
2018-04-13 09:06:00 +08:00
|
|
|
(
|
2018-03-13 23:38:27 +08:00
|
|
|
echo :: use this file to run your own startup commands
|
|
|
|
echo :: use in front of the command to prevent printing the command
|
|
|
|
echo.
|
|
|
|
echo :: uncomment this to have the ssh agent load when cmder starts
|
|
|
|
echo :: call "%%GIT_INSTALL_ROOT%%/cmd/start-ssh-agent.cmd"
|
|
|
|
echo.
|
|
|
|
echo :: uncomment this next two lines to use pageant as the ssh authentication agent
|
|
|
|
echo :: SET SSH_AUTH_SOCK=/tmp/.ssh-pageant-auth-sock
|
|
|
|
echo :: call "%%GIT_INSTALL_ROOT%%/cmd/start-ssh-pageant.cmd"
|
|
|
|
echo.
|
|
|
|
echo :: you can add your plugins to the cmder path like so
|
|
|
|
echo :: set "PATH=%%CMDER_ROOT%%\vendor\whatever;%%PATH%%"
|
|
|
|
echo.
|
|
|
|
echo @echo off
|
2018-04-04 01:20:49 +08:00
|
|
|
) >"%initialConfig%"
|
2015-08-26 01:44:23 +08:00
|
|
|
)
|
2016-05-08 03:20:24 +08:00
|
|
|
|
2018-04-04 01:20:49 +08:00
|
|
|
set initialConfig=
|
2016-05-08 03:20:24 +08:00
|
|
|
exit /b
|