Pobieranie komunikatu dziennika z svnlook za pomocą pakietu Windows

Próbuję przygotować hak post-commit dla mojego repozytorium svn. Dlatego potrzebuję komunikatu dziennika z ostatniego zatwierdzenia, który otrzymuję za pomocą poleceniasvnlook log -r %REV% %REPOS%. Wypełnianie fragmentu odpowiednimi parametrami Otrzymuję następujący wielowyrazowy komunikat dziennika:

<code>This
is
my
transaction.
</code>

Jak dotąd działa to dobrze. Teraz umieściłem to w pliku .bat:

<code>@ECHO OFF

REM just for testing purpose...
SET REPOS=C:\repo
SET REV=40

FOR /F %%i in ('svnlook log -r %REV% %REPOS%') do SET VAR=%%i

ECHO %VAR%
</code>

Kiedy wykonuję skrypt tylko ostatnia liniatransaction. jest echo. Pętla for-pętla jest fragmentem, z którego myślałem, że odczyta wyjście svnlook do%var%.

Moim podejściem jest uzyskanie komunikatu dziennika w zmiennej, którą przekazuję do innego pliku exe jako parametru. Ale to nie zadziała. Nie wiem, jak prawidłowo korzystać z pętli.

Komunikat dziennika powinien zostać przekazany do innego pliku exe jako parametr.

Zmodyfikowałem skrypt na następujący (@thx PA).

<code>@ECHO OFF
setlocal enabledelayedexpansion

SET REPOS=C:\repo
SET REV=40

SET MSG=
FOR /F %%i in ('svnlook log -r %REV% %REPOS%') do SET VAR=!VAR! %%i
ECHO !VAR!
</code>

Wyjście jest terazThis is my transaction. Ale linebreak zniknął, ale potrzebuję go do dalszego przetwarzania.

questionAnswers(3)

yourAnswerToTheQuestion