AnkhSVN клиентская сторона pre-commit hook - PullRequest
3 голосов
/ 27 марта 2012

По сути, я хочу сделать то же самое, что и парень над там .

Кажется, что все думали о серверных хуках (со всем их злым потенциалом).

Я хочу, чтобы клиентский сценарий запускался перед фиксацией, чтобы astyle мог форматировать код так, как его хочет видеть мой начальник.

Поскольку моя IDE (VS2010Pro) автоматически проверяет изменение файла на дискеОпция позволяет мне перезагрузить его, со всем этим нет никакого реального зла.

Есть ли какой-нибудь (чистый) способ сделать это с помощью AnkhSVN?

Может быть, есть и способ расширить VisualStudioвызвать мой pre-commit-script ...

Ответы [ 3 ]

3 голосов
/ 30 марта 2012

Похоже, что AnkhSVN создается для использования скриптов хуков TortoiseSVN, так как идет разговор о том, что он находится в ночных сборках . Также ежедневные обновления , кажется, упоминают хуки (например, ревизия 10870 и ревизия 10873 .

Попробуйте получить ежедневную сборку и увидеть параметры подрывной деятельности в Tools->Options->Source Control->Subversion Environment в Visual Studio. Если это не сработает, попробуйте открыть реестр Windows для HKEY_CURRENT_USER\Software\Ankh​SVN\VisualStudio\​<Version>\Conf​iguration (где <Version> должно быть 10,0 для вас) и добавить строку с именем EnableTortoiseSvnHooks с данными True, как упомянуто в приведенной выше ссылке на разговор.

1 голос
/ 07 мая 2013

Visual Studio> Инструменты> Параметры

enter image description here

0 голосов
/ 30 марта 2012

Если бы вы могли отойти от AnkhSVN и переключиться на TortoiseSVN , вы получите поддержку для клиентских хуков бесплатно .

Вы можете использовать любую исполняемую вещь в качестве хука, и они получают различные параметры в зависимости от типа скриптов хука.

Крюк pre-commit, например, получает следующие параметры:

PATH DEPTH MESSAGEFILE CWD

Где элементы следующие:

  • PATH
    Путь к временному файлу, который содержит все пути, для которых была запущена операция. Каждый путь находится на отдельной строке во временном файле.

  • DEPTH
    Глубина, с которой выполняется фиксация / обновление.

  • MESSAGEFILE
    Путь к файлу, содержащему сообщение журнала для фиксации. Файл содержит текст в кодировке UTF-8. После успешного выполнения перехвата start-commit сообщение журнала читается обратно, давая хуку возможность изменить его.

  • CWD
    Текущий рабочий каталог, с которым запускается скрипт. Устанавливается в общий корневой каталог всех затронутых путей.

Хотя TortoiseSVN не интегрирован в VS, я думаю, что это стоит посмотреть, поскольку вы можете использовать его в качестве универсального клиента и для других проектов (т. Е. Для всего остального, что вы не делаете с помощью кода / скриптов) VS).

...