Counter Strike : Global Offensive Source Code
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
@echo off
setlocal
set valveTmpFileFromVS2005=%1% set valveTmpFileFromVS2005=%valveTmpFileFromVS2005:\\=\%
set valveChangelistName="Visual Studio Auto Checkout"
:: // Make sure we have 2 args if .%2.==.. ( echo *** [valve_p4_edit] Error calling command! No file specified for checkout! echo *** Usage: valve_p4_edit.cmd file srcdir ["changelist name"] echo *** The changelist name is optional. If present, must be quoted. By default it's %valveChangelistName%. endlocal exit /b 1 )
if [%3] NEQ [] ( set valveChangelistName=%3 )
:: // Fallback to old functionality and just change file attribs if NOT "%VALVE_NO_AUTO_P4%"=="" ( echo [valve_p4_edit] VALVE_NO_AUTO_P4 defined. Changing file attribs only! if EXIST %valveTmpFileFromVS2005% ( attrib -r %valveTmpFileFromVS2005% ) endlocal exit /b 0 )
rem // :: // First check if file exists rem // if NOT EXIST %valveTmpFileFromVS2005% ( rem // :: // File does not exist rem // rem // echo [valve_p4_edit] %valveTmpFileFromVS2005% does not exist! Skipping p4 edit command. rem // endlocal rem // exit /b 0 rem // ) rem // rem // :: // Check if file is read-only (NOTE: If the file is writable, we don't call p4!) rem // dir /b /ar %valveTmpFileFromVS2005% >nul 2>&1 rem // if NOT %ERRORLEVEL%==0 ( rem // rem // echo [valve_p4_edit] %valveTmpFileFromVS2005% is already writable. Not calling p4 edit. rem // endlocal rem // exit /b 0 rem // )
:: // Put 360 bins into their own changelist for /f %%A in ('echo %valveTmpFileFromVS2005% ^| find /i "360"') do set valveTmpIs360=%%A if NOT "%valveTmpIs360%"=="" ( set valveChangelistName="360 Visual Studio Auto Checkout" )
for /f %%A in ('echo %valveTmpFileFromVS2005% ^| find /i "launcher_main"') do set valveTmpIs360=%%A if NOT "%valveTmpIs360%"=="" ( set valveChangelistName="360 Visual Studio Auto Checkout" )
set valveP4EditCall=%2\devtools\bin\valve_p4_edit_to_changelist.cmd %valveTmpFileFromVS2005% %valveChangelistName%
if "%VALVE_WAIT_ON_P4%"=="" ( :: // The file exists and is read-only, so change the file attrib and spawn the Perforce checkout asynchronously if EXIST %valveTmpFileFromVS2005% attrib -r %valveTmpFileFromVS2005% start /b cmd /c %valveP4EditCall% EXIT rem // (NOTE: The EXIT arg is needed because we're using the start command to launch the cmd!) ) ELSE ( :: // Do not use attrib -r if we're doing synchronous p4 edit. If this fails, we want to throw an error below call %valveP4EditCall% )
:: // Make sure file is writable if it exists if NOT EXIST %valveTmpFileFromVS2005% goto End dir /b /a-r %valveTmpFileFromVS2005% >nul 2>&1 if NOT %ERRORLEVEL%==0 ( :: // Return with an error to stop the build! echo *** [valve_p4_edit] Error! %valveTmpFileFromVS2005% is not writable! endlocal exit /b 1 )
:End endlocal exit /b 0
|