TortoiseSVN зависает при использовании ловушки после фиксации - PullRequest
2 голосов
/ 15 июля 2011

TortoiseSVN зависает (зависает) при «отправке контента», когда я использую ловушку пост-фиксации в моем хранилище VisualSVN.Следующее является ловушкой:

cd C:\Sysinternals\

PsExec \\\OtherComputer TortoiseProc /command:update /path:"C:\MyPath\" /closeonend:4

Содержимое отправлено, но требуется локальное обновление или оно помечено как устаревшее.Есть идеи?

Ответы [ 2 ]

2 голосов
/ 16 июля 2011

Сценарий хука должен завершиться первым, чтобы сделать коммит успешным. Так что клиент должен ждать этого. Если ваш скрипт-хук занимает слишком много времени или не завершается вообще, то фиксация кажется зависшей Вы можете попытаться запустить длительную команду в вашем скрипте хуков в отдельном процессе, чтобы сам скрипт хуков завершился немедленно.

Однако: если OtherComputer - это компьютер, с которого вы пытаетесь выполнить коммит, и скрипт пытается обновить ту же самую рабочую копию, то это тоже не поможет: обновление должно ждать до завершения фиксации, но commit ждет завершения сценария перехвата, запускающего обновление - у вас тупик.

1 голос
/ 15 июля 2011

Это похоже на локальный хук. Я не думаю, что вы можете использовать PsExec таким образом. Я думаю, что вы открываете сеанс PsExec на другом компьютере, и он просто сидит там. У него нет способа увидеть следующую строку в скрипте. то есть TortoiseProc не подается в PsExec.
Я думаю, что вам нужно установить клиент SVN (клиент командной строки) на другой машине. Затем создайте файл bat (updateme.bat), поместите его на эту машину, затем вы можете сделать что-то вроде этого (все в одну строку):

c:\sysinternals\PsExec \\OtherComputer c:\updateme.bat
...