48 lines
1.1 KiB
Batchfile
48 lines
1.1 KiB
Batchfile
@echo off
|
|
REM #######################################################################
|
|
REM ##
|
|
REM ## Shows how far ahead each project is against origin
|
|
REM ##
|
|
REM #######################################################################
|
|
|
|
setlocal
|
|
setlocal ENABLEDELAYEDEXPANSION
|
|
|
|
echo.
|
|
echo INFO: Showing ahead status of all projects...
|
|
echo.
|
|
for /F %%i in ('type projects.lst') do (
|
|
set project=%%i
|
|
|
|
if not exist "..\!project!" (
|
|
echo INFO: Project !project! does not exist. Maybe you need to bootstrap?
|
|
) else (
|
|
cd ..\!project!
|
|
set tmpFile=%RANDOM%%RANDOM%.tmp
|
|
git rev-list origin..master --count > !tmpFile!
|
|
if !ERRORLEVEL! NEQ 0 (
|
|
del !tmpFile!
|
|
goto :FAIL
|
|
)
|
|
for /F %%i in ('type !tmpFile!') do (
|
|
set aheadCount=%%i
|
|
if !aheadCount! NEQ 0 (
|
|
echo INFO: !aheadCount! commits not pushed for project !project!
|
|
) else (
|
|
echo INFO: Project !project! is clean.
|
|
)
|
|
)
|
|
del !tmpFile!
|
|
if !ERRORLEVEL! NEQ 0 goto :FAIL
|
|
)
|
|
)
|
|
|
|
echo.
|
|
echo INFO: Done.
|
|
echo.
|
|
endlocal
|
|
exit /b 0
|
|
|
|
:FAIL
|
|
echo INFO: Failed to show ahead status a project.
|
|
exit /b !ERRORLEVEL! |