需要があったので書いておく。
目的
Subversionで管理対象のファイルが削除されている時に、そのファイルをバージョン管理からも削除したい。
ただし、外部ツールに依存したくないのでsvnとコマンドプロンプトだけで実現する。
方法
バージョン管理中のファイルを削除した場合は紛失扱いになる為、svn status
の結果、先頭文字が!になる。
これを利用して、先頭文字が!かつ、存在しないファイルを svn delete
すればよい。
具体的には以下の様なコードである。
for /F "usebackq delims=" %%i in (`svn status`) do call :check "%%i"
exit
:check
set TARGET=%~1
if "%TARGET:~0,1%"=="!" if not exist "%TARGET:~8%" svn delete %TARGET:~8%
以上