あまりしっかりテストしていないので、ご利用はバックアップをとった上で、自己責任で… (自分の用事が終ったら放置モード)
svn-show.cmd
svn diff -r1000:1001
とかやっていられないので、svn-show 1001
で同じことをする。
@echo off setlocal if "%1" == "" ( for /F "skip=1 tokens=1" %%I in ('svn log -l 1') do call :show %%I & exit /b ) else ( call :show "%1" ) endlocal exit /b :show set "REV2=%~1" set REV2=%REV2:r=% set /A REV1=REV2-1 svn diff -r%REV1%:%REV2% exit /b
svn-stash.cmd
svn-stash
とすると、コミットされていない修正が svn-stach.1 などというファイルに保存され、修正は消える。元に戻すには svn-stash svn-stash.1
とパッチファイルを引数に渡す。
setlocal if "%1" == "" ( call :diff ) else ( call :patch "%~1") endlocal exit /b :diff set /A cnt=cnt+1 if exist svn-stash.%cnt% goto :diff svn diff > svn-stash.%cnt% svn revert -R . exit /b :patch svn patch "%~1" exit /b