2012-03-27 7 views
3

В основном я хочу сделать то же самое, что и у fella over there.AnkhSVN клиентская сторона pre-commit hook

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

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

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

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

Может быть, есть также способ продлить VisualStudio назвать свою зафиксироваться-скрипт ...

+0

Просто добавил «внешний инструмент» с keyboardshortcut в качестве временного решения – santa

ответ

3

Похоже, что AnkhSVN делается использовать крюк сценарии TortoiseSVN, поскольку есть a conversation about it being in the nightly builds. Также daily updates, кажется, упомянуть крючки (например revision 10870 и revision 10873.

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

+0

я дам, что выстрел в понедельник - если он работает - вознаграждение должно быть вашим ! заранее спасибо! – santa

+1

извините - не успел раньше - но посмотрите там: http://baevo.com/interwebs/client_side_hooks_in_ankhsvn.jpg щедрость будет твоей :-) спасибо! – santa

+0

Опция не работает в Microsoft Visual Studio Community 2015 Версия 14.0.25123.00 Обновление 2 на Windows 10. – alehro

0

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

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

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

PATH DEPTH MESSAGEFILE CWD 

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

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

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

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

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

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

+0

В любом случае я использую черепаху, но я не хочу отказываться от интеграции vs :-) – santa

+0

Крюки на стороне клиента описаны в справочной системе Tortoise в разделе «4.30.8. Скрипты на стороне клиента» (большинство из приведенного выше ответа - это цитата из него). – user1068352

+0

@ пользователь1068352: да, совершенно. Глава в документах TSVN связана с этим ответом. Но здесь хорошая практика, чтобы не передавать только ссылку, а приводить содержание ссылки здесь в ответе. При этом ответ остается в силе, когда цель ссылки изменяется или удаляется. – eckes

1

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

enter image description here

+0

ty levitikon для совместного использования, но я уже привык использовать ярлык, прежде чем совершать удар по астиле в качестве внешнего инструмента. возможно, я дам ему шанс, когда у меня будет слишком много времени на моих руках в следующие дни. но с другой стороны - когда это произойдет :) – santa