Leaked source code of windows server 2003
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.
|
|
@if "%_echo%"=="" echo off setlocal
if "%BUILD_OFFLINE%"=="1" goto :eof
set PUB=%_NTDRIVE%%_NTROOT%\public
call :edit_public public publish.log
for %%i in (%BINARY_PUBLISH_PROJECTS%) do ( echo Checking out binary drops generated in %%i project. call :edit_public %%i %%i_publish.log ) goto :eof
:edit_public
if exist %PUB%\%1_CHANGENUM.SD goto GotPubChangeNum echo BUILDMSG: Error %PUB%\%1_CHANGENUM.SD is missing - Open a new razzle window and retry goto :eof
:GotPubChangeNum if NOT exist %PUB%\%2 goto :eof
call %RazzleToolPath%\SubmitNewPublicFiles.cmd add
set _editlist=%TEMP%\edit_public_list_%RANDOM% set _sdresults=%TEMP%\sdresults_%RANDOM% set _publishlog=%PUB%\%2_%RANDOM%
pushd %_NTDRIVE%%_NTROOT%\%1% if exist %_editlist% del /f %_editlist%
move %_NTDRIVE%%_NTROOT%\public\%2 %_publishlog%
for /f "tokens=2" %%i in (%_NTDRIVE%%_NTROOT%\public\%1%_CHANGENUM.SD) do ( for /f %%X in (%_publishlog%) do ( echo %%~fX>> %_editlist% ) sd -s -x %_editlist% edit -c %%i > %_sdresults% 2>&1 )
set sderror=FALSE for /f %%x in ('findstr /c:"error:" %_sdresults%') do ( set sderror=TRUE )
if NOT "%sderror%" == "TRUE" ( type %_publishlog% >> %_NTDRIVE%%_NTROOT%\public\publish.log-Finished del /f %_publishlog% ) else ( echo BUILDMSG: Error attempting to publish files for /f "delims=" %%x in ('findstr /c:"error:" %_sdresults%') do ( echo BUILDMSG: %%x ) type %_sdresults% type %_publishlog% >>%_NTDRIVE%%_NTROOT%\public\%2 goto Cleanup )
REM See if there's any r/w files in public that aren't under source control REM We do this to try and catch people who publish w/o adding to publicchanges.txt REM or who dump into public w/o using publish. We skip this step if there's a problm REM accessing sd.
for /f "tokens=2" %%i in (%_NTDRIVE%%_NTROOT%\public\%1%_CHANGENUM.SD) do ( sd -s opened -c %%i -l > %_sdresults% 2>&1 )
for /f %%x in ('findstr /c:"error:" %_sdresults%') do ( goto Cleanup )
REM first mark all r/w files as "system" for /f %%i in ('dir /s /b /a:-r-d') do @attrib +s %%i
REM Then mark all opened files as "not system" (do the two step because the sd results file REM currently starts with info: and the version field starts with '#' for /f "delims=#" %%i in (%_sdresults%) do @echo %%i>>%_sdresults%_temp for /f "tokens=2" %%i in (%_sdresults%_temp) do @attrib -s %%i del %_sdresults%_temp
REM Get the special case files for /f %%i in ('dir /s /b /a:s-r publish*') do @attrib -s %%i
REM what's left are the problem files. for /f %%i in ('dir /s /b /a:s') do ( echo BUILDMSG: Error - "%%i" is not under source control - forget to use publish or update publicchanges.txt? @attrib -s %%i )
:Cleanup
if exist %_editlist% del /f %_editlist% if exist %_publishlog% del /f %_publishlog% if exist %_sdresults% del /f %_sdresults%
popd endlocal
|