Работает ли Subversion hook с URL-адресами файлов? - PullRequest
1 голос
/ 08 февраля 2011

Я пытаюсь протестировать некоторые ловушки фиксации Subversion, но когда я использую самый простой случай - локальный репозиторий и файл: // protocol - тогда ловушки не выполняются.

Я на Windows - вот стенограмма упрощенного примера:

C:\>mkdir \testsvn    
C:\>mkdir \testsvn\repos    
C:\>cd \testsvn\repos    
C:\testsvn\repos>svnadmin create --fs-type fsfs /testsvn/repos    
C:\testsvn\repos>cd \testsvn    
C:\testsvn>mkdir source    
C:\testsvn>cd source    
C:\testsvn\source>echo This is a readme file.>readme.txt    
C:\testsvn\source>svn import file:///testsvn/repos/somemodule -m "Imported somemodule"
Adding         readme.txt    
Committed revision 1.

C:\testsvn\source>cd \testsvn\repos\hooks    
C:\testsvn\repos\hooks>copy con pre-commit.bat
echo Commits disabled! 1>&2
exit /b 1
^Z
        1 file(s) copied.

C:\testsvn\repos\hooks>md \testsvn\checkout    
C:\testsvn\repos\hooks>cd \testsvn\checkout    
C:\testsvn\checkout>svn checkout file:///testsvn/repos/somemodule
A    somemodule\readme.txt
Checked out revision 1.

C:\testsvn\checkout>cd somemodule    
C:\testsvn\checkout\somemodule>echo This is line 2 of the readme file.>>readme.txt    
C:\testsvn\checkout\somemodule>svn status -u
M                1   readme.txt
Status against revision:      1

C:\testsvn\checkout\somemodule>svn commit -m "This should fail if the pre-commit hook works..."
Sending        readme.txt
Transmitting file data .
Committed revision 2.

Последняя команда должна была завершиться с ошибкой из-за моего крайнего хука фиксации. Что я делаю не так?

Ответы [ 2 ]

1 голос
/ 08 февраля 2011

Оказывается, моя ошибка - в командном файле "exit 1" возвращает ошибку в svn, тогда как "exit / b 1" - нет.

0 голосов
/ 08 февраля 2011

Это глупый ответ, но вы проверили разрешения на хуке предварительной фиксации? Работает ли он при каких-либо других условиях?

У вас может не быть проблем с URL-адресом файла, у вас могут быть проблемы с ловушкой в ​​целом.

...