Dlaczego moja instrukcja warunkowa po zatwierdzeniu nie działa, gdy sprawdzam, czy dana gałąź została zatwierdzona?

Używam Subvbersion za pośrednictwem serwera VisualSVN na serwerze Windows i ustawiam moje repozytorium z pniem i trzema gałęziami. Gałęzie to dev, test i prod. Mam hak po zatwierdzeniu, który chcę uruchomić, który aktualizuje kopię roboczą po uruchomieniu zatwierdzenia, ale chcę tylko zaktualizować kopię roboczą, jeśli zatwierdzenie zostało wykonane w gałęzi dev.

To jest kod, który mam teraz ...

@setlocal enableextensions enabledelayedexpansion
@echo off
SET str1=%1
IF NOT x%str1:dev=%==x%str1%  (
pushd <path to working copy>
svn update --username <svn_username> --password <svn_password>
echo update complete
)
endlocal

Jeśli usunę warunkowe, aktualizacja będzie działać przy każdym zatwierdzeniu, więc znam kod wewnątrz prac warunkowych. Przetestowałem również warunkowy jako zwykły plik wsadowy, wysyłając go łańcuchy takie jak „branch / dev” i „branches / test” i zachowywał się poprawnie w tych testach. Jednakże, kiedy zapiszę to jako mój skrypt przechwytujący po zatwierdzeniu, nigdy się nie uruchomi, czy zatwierdzenie jest w gałęzi dev, czy w inny sposób.

EDYCJA: Na podstawie opinii, że to pytanie zostało już udzielone, spróbowałem podejścia zalecanego w innym pytaniu, ale to podejście również nie działa. Oto moja wersja sugerowanego tam kodu:

REM The command checks whether the committed revision changes any data under '/dev'
"%VISUALSVN_SERVER%bin\svnlook.exe" dirs-changed %1 --revision %2 | findstr /b "[Dd]ev"

REM If 'findstr' returns error code 0, it means that the commit involves the '/dev' directory.
REM So if the the returned code is 0 the command runs external batch 'post-commit-actions.bat'
If %ERRORLEVEL% EQU 0 call %~dp0post-commit-actions.bat %*

Aby to zadziałało, utworzyłem plik w katalogu hooks o nazwie post-commit-actions.bat, aby wykonać aktualizację svn. Jednak to nie działa po zatwierdzeniu. Jeśli pomijam wszelkie istotne informacje, daj mi znać.

EDIT: Dzięki za pomoc wszystkich. Dzięki wejściu udało mi się zebrać działające rozwiązanie. Dla tych, którzy szukają odpowiedzi na podobny problem, działało to tak:

svnlook dirs-changed %1 -r %2 | findstr /b /i "branches/dev"

IF %ERRORLEVEL% EQU 0 (
    pushd <path-to-working-copy>
    svn update --username <repo-username> --password <repo-password>
)

questionAnswers(2)

yourAnswerToTheQuestion