@echo off set BUNDLE=Git-RepoExport.bundle set ARCHIVE_ZIP=Git-Archive.zip set ARCHIVE_TGZ=Git-Archive.tgz set REFNAME=refs/heads/master set COMMIT=HEAD :MENU cd %~dp0 echo. echo *** MENU *** echo 1: Verify Git bundle file echo 2: Fetch Git bundle file echo 3: Create Git bundle file echo L: List of commits echo S: Select a commit echo T: Create Git tgz-archive file echo Z: Create Git zip-archive file echo q: Quit set /P INPUT="%COMMIT%>>> " echo. set SELECT=%INPUT:~0,1% if "%SELECT%"=="1" goto SELECT_1 if "%SELECT%"=="2" goto SELECT_2 if "%SELECT%"=="3" goto SELECT_3 if "%SELECT%"=="L" goto SELECT_L if "%SELECT%"=="S" goto SELECT_S if "%SELECT%"=="T" goto SELECT_T if "%SELECT%"=="Z" goto SELECT_Z if "%SELECT%"=="q" goto eof goto MENU :SELECT_1 echo [ Verify Git bundle file ] git bundle verify %BUNDLE% goto MENU :SELECT_2 echo [ Fetch Git bundle file ] git fetch %BUNDLE% master:import goto MENU :SELECT_3 echo [ Create Git bundle file ] if "%COMMIT%"=="HEAD" ( git bundle create %BUNDLE% HEAD %REFNAME% ) else ( git bundle create %BUNDLE% %REFNAME% ^^%COMMIT% ) goto MENU :SELECT_L git log --oneline goto MENU :SELECT_S echo [ Select a commit ] set /P COMMIT="%COMMIT% -> " goto MENU :SELECT_T echo [ Create Git tgz-archive file ] git archive HEAD --format=tgz -o %ARCHIVE_TGZ% goto MENU :SELECT_Z echo [ Create Git zip-archive file ] git archive HEAD --format=zip -o %ARCHIVE_ZIP% goto MENU :eof