This batch script creates a text file containing the differences between two labels of a SourceSafe project and all of its sub-projects. It was originally posted to microsoft.public.visualsourcesafe by Weston Morris. Thanks Weston!
@ECHO OFF
REM This batch file will create a text file containing the differences
REM between 2 labels of a project and all sub-projects off of that project.
REM The project name and labels must not contain any spaces.
REM The env variable SSDIR must point to the the path where VSS is installed on your machine.
if "%SSDIR%" == "" GOTO NO_SSDIR
if "%1"=="HELP" GOTO HELP
if "%1"=="/?" GOTO HELP
if "%1"=="-?" GOTO HELP
if "%1"=="?" GOTO HELP
if "%1"=="" GOTO NO_PROJ
if "%2"=="" GOTO NO_NEW_LABEL
if "%3"=="" GOTO NO_OLD_LABEL
:COMPARE
ECHO Gathering data. Please wait....
del delta.txt /F /Q
echo %ssdir%\win32\ss history %1 -VL%2~%3 %4 %5 %6 %7 %8 %9 -i- -odelta.txt
%ssdir%\win32\ss history %1 -VL%2~%3 %4 %5 %6 %7 %8 %9 -i- -odelta.txt
IF ERRORLEVEL 100 GOTO VSS_FAILURE
IF ERRORLEVEL 1 GOTO VSS_NO_FILES
REM Exit code 0, history command was successful
ECHO Complete.
delta.txt
GOTO EXIT
REM Exit code 1,
:VSS_NO_FILES
ECHO No changes in that range of labels.
REM Exit code 100, VSS failure
:VSS_FAILURE
ECHO VSS Failed.
ECHO Do you have access to the database?
ECHO Is this a valid project name? "%1"
ECHO Is this a valid newer label? "%2"
:NO_SSDIR
ECHO You must have the SSDIR env variable set up to point to the folder where
ECHO VSS was installed on your machine.
:NO_PROJ
:NO_OLD_LABEL
:NO_NEW_LABEL
ECHO You must supply a VSS project, new label and old label.
GOTO EXAMPLES
:EXAMPLES
:HELP
ECHO Command Syntax:
ECHO DUMP_DELTA {project name} {new project label}
ECHO {old project label} [other VSS options]
ECHO {project name} is the VSS project name (no spaces allowed in the name)
ECHO {new project label} is the newer label (no spaces allowed in the label)
ECHO {old project label} is the older label (no spaces allowed in the label)
ECHO [other VSS options] are a list of other SS options such as:
ECHO -R Display the history of an entire project list.
ECHO -L Display only versions that have labels.
ECHO -F- Do not display individual file updates in the project history.
ECHO -B Display a brief history.
ECHO -U Display only changes made by a particular user.
ECHO -I- Ignore: Do not ask for input under any circumstances.
ECHO -Y Specify a username and/or password.
ECHO Examples of how to start this batch file:
ECHO DUMP_DELTA DP1XXX_3.1.4 DP1XXX_3.1.0
ECHO DUMP_DELTA PR_233 PR_230 -R -UWeston
:EXIT
++++++++++++++++++++++++++ This posting is provided "AS IS" with no warranties, and confers no rights.