Go to English page

ViaThinkSoft CodeLib

Dieser Artikel befindet sich in:
CodeLibHowTos

HowTos: SVN für Windows: Commit verhindern, wenn eine Zeichenfolge in einer Datei eines bestimmten Dateityps vorkommt
Beispiel: Verhindern, dass "Connected = True" in *.dfm Dateien vorkommt.

Es muss folgende Datei angelegt werden: C:\Repositories\...\Hooks\pre-commit.bat

@echo off

setlocal

if exist %TEMP%\temfile%2 del %TEMP%\tempfile%2
for /f "tokens=1,* usebackq" %%i in (`svnlook changed -t %2 %1`) do (
     @if %%i==A @echo %%j >> %TEMP%\tempfile%2
)

setlocal enableextensions EnableDelayedExpansion

for /f "tokens=* usebackq" %%i in (`findstr /E /I /R "\.dfm.$" %TEMP%\tempfile%2`) do (
     set variable=%%i
     
     svnlook cat -t %2 %1 "!variable:~0,-1!" | findstr /C:"Connected = True" > NUL
     if not errorlevel 1 (
          echo -------------------------------------------- >&2
          echo VORAB-PRÜFUNG FEHLGESCHLAGEN! >&2
          echo Es wurde vergessen, ein Connection-Objekt auszuschalten! >&2
          echo !variable:~0,-1! >&2
          echo -------------------------------------------- >&2
          del %TEMP%\tempfile%2
          exit 1
     )
)
del %TEMP%\tempfile%2