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.