Por que minha instrução condicional de hook post-commit não funciona quando eu verifico se uma ramificação específica foi confirmada?

Estou executando o Subversion através do VisualSVN Server em um servidor Windows e tenho meu repositório configurado com um tronco e três ramificações. Os ramos são dev, test e prod. Eu tenho um post commit hook que eu quero executar, que atualiza uma cópia de trabalho após a execução de um commit, mas eu só quero que atualize essa cópia de trabalho se o commit foi feito no branch dev.

Este é o código que tenho agora ...

@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

Se eu tirar o condicional, a atualização será executada em cada commit, então eu sei o código dentro dos trabalhos condicionais. Também testei o condicional como um arquivo em lote regular, enviando-o como "branches / dev" e "branches / test" e ele se comportou corretamente nesses testes. No entanto, quando eu salvo isso como meu script de gancho post-commit, ele nunca é executado, quer o commit esteja na ramificação dev ou de outra forma.

EDIT: Com base no feedback que esta questão já foi respondida, tentei a abordagem recomendada na outra questão, mas essa abordagem não está funcionando também. Aqui está a minha versão do código sugerido lá:

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 %*

Para que isso funcione, eu criei um arquivo no diretório hooks chamado post-commit-actions.bat para executar o svn update. No entanto, isso não está executando o post-commit. Se eu estou deixando de fora qualquer informação pertinente, por favor me avise.

EDIT: Obrigado pela ajuda de todos. Com a entrada aqui, consegui juntar uma solução de trabalho. Para quem procura uma resposta para um problema semelhante, funcionou assim:

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