Я хотел бы выполнить небольшой клиентский скрипт / exe / bat после успешного экспорта репозитория из TortoiseSvn.

Процесс будет выглядеть так:

  1. Репозиторий, щелкнув правой кнопкой мыши
  2. Щелкните элемент меню Экспорт TortoiseSVN
  3. Экспорт успешно завершен
  4. TortoiseSVN запускает мой сценарий.

Я уже рассмотрел создание настраиваемой клиентской ловушки, но они доступны только для start / pre / post -commit и start / pre / post- update , тогда как Мне нужен постэкспорт.

Любые идеи?

0
Matt Jacobsen 27 Янв 2010 в 16:21
Это должно быть прозрачно для пользователя. Пользователь понимает TortoiseSVN. Они не понимают сам svn.
 – 
Matt Jacobsen
27 Янв 2010 в 16:33

3 ответа

Лучший ответ

Один из разработчиков tortoiseSVN ответил на мой вопрос в своем списке рассылки.

http://groups.google.com/group/tortoisesvn/browse_thread/thread/e371b656f8615cf6#

По сути, в настоящее время это невозможно сделать интегрированным способом через пользовательский интерфейс tortoiseSVN.

Мое решение - иметь небольшой скрипт, который находится в репозитории. После экспорта через tortoiseSVN пользователь дважды щелкает скрипт (который также был экспортирован в выбранный им каталог), и он творит чудеса.

0
Matt Jacobsen 27 Янв 2010 в 18:52

Я не думаю, что это можно сделать в Tortoise. Как вы уже сказали, хуки есть, но не на экспорт.

Я бы сказал, что для этого нужен сценарий или командный файл. SVN имеет собственный клиент командной строки, который можно использовать для экспорта; Вы можете проверить успешность экспорта с помощью ERRORLEVEL:

Export.bat

@echo off
svn export xyz
IF ERRORLEVEL 1 GOTO fail
IF ERRORLEVEL 0 GOTO success

:fail
echo Fail!
GOTO end

:success
echo Success! Now calling EXE file...
call my_exe_file_here.exe
GOTO end

:end

Непроверенный, но должен работать.

1
Pekka 27 Янв 2010 в 16:37
И где мне щелкнуть по нему в контекстном меню TortoiseSvn?
 – 
Matt Jacobsen
27 Янв 2010 в 16:32
Это полностью независимое от Tortoise решение. Не сработает, если требуется начать с Tortoise.
 – 
Pekka
27 Янв 2010 в 16:33
Извините, это не то, что я хочу. Он должен вызываться из TortoiseSVN
 – 
Matt Jacobsen
27 Янв 2010 в 16:34
Понятно. Что ж, тогда это тебе не поможет, извини. Однако я уверен, что вы можете добавить этот командный файл в контекстное меню реестра, как это делает Tortoise. Его по-прежнему не было бы в меню черепахи, но все же в контекстном меню. Однако для этого требуется магия реестра, с которой я не знаком.
 – 
Pekka
27 Янв 2010 в 16:36

TortoiseSVN с открытым исходным кодом

http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk
username: guest
password: [blank]

Чтобы вы могли добавить эту функциональность в исходный код, перекомпилировать и распространить вашу измененную версию TortoiseSVN среди ваших пользователей.

0
Michael Hackner 27 Янв 2010 в 16:44
Да, это последняя капля :-)
 – 
Matt Jacobsen
27 Янв 2010 в 16:47
Хех, кто-то должен был это сказать :)
 – 
Pekka
27 Янв 2010 в 16:50