Клиентский хук для TortoiseSVN


Скрипт на Lua, извлекающий модули из отчетов и обработок. Оформлен как клиентский хук TortoiseSVN для события "Перед-фиксацией".
Позволяет хранить и анализировать (штатными средствами TortoiseSVN) историю правок программного кода.

Утилита входит в состав 1c-toolkit и использует cf_reader

Исходник в открытом доступе: tsvn_hook_pre-commit.lua

Обновление 08.04.2013 Теперь утилиты можно установить с помощью удобного инсталлятора.

Инструкция по установке:

1. Распакуйте архив с 1c-toolkit (например в папку c:LuaJIT_2)
2. В переменную среды PATH добавьте пути:
c:LuaJIT_2;c:LuaJIT_2in;
3. Создайте новую переменную среды LUA_CPATH и добавьте в нее пути:
c:LuaJit_2clibs?.dll;c:LuaJit_2clibs?51.dll;;

1. Установите 1c-toolkit (переменные среды будут настроены автоматически):

inst

2. Откройте настройки TortoiseSVN и добавьте хук:

tsvn


Инструкция по использованию:

Рекомендуется заводить в хранилище отдельные папки на каждую обработку.
Коммит следует делать не на обработке, а на папке, содержащей эту обработку!!!

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


Демонстрация работы:

 

28 Comments

  1. Поручик

    (0) Всё же лучше, чем Visual C# для чайников.

    Reply
  2. ilov_boris

    (1) Поручик, а какая связь с той публикацией? O_o

    Reply
  3. Поручик

    (2) Лучше это, чем то. Хотя не слышал, чтобы тортиллу использовали для 1С разработок.

    Reply
  4. ilov_boris

    (3) Поручик, у меня в конторе используется 🙂

    Reply
  5. pumbaE

    (3) Поручик, используем, в основном конечно git, а не svn.

    (0) Собрать обратно можно в обработку? Т.е. я с помощью kdiff объединил модуль и обратно в обработку автоматом затянуть можно ?

    (0) Пока не закомитишь не сможешь посмотреть свои локальные правки быстро…

    Reply
  6. ilov_boris

    (5) pumbaE, нет сборка не предусмотрена (и не планируется, ибо чревато)

    Правки без коммита нельзя посмотреть, да… Хотя нужно на TortoiseGIT проверить. Там ведь коммиты локальные.

    Reply
  7. pumbaE

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

    Reply
  8. ilov_boris

    (7) pumbaE, сегодня вечером сделаю

    Reply
  9. ilov_boris

    (7) pumbaE, cf_modunp.lua

    Reply
  10. ilov_boris

    Если лень настраивать переменные среды: luajit.bat

    Reply
  11. ilov_boris

    Вышла версия 0.1.3

    Теперь есть удобный инсталлятор 🙂

    https://bitbucket.org/boris_coder/1c-toolkit

    Reply
  12. GoodBeaver

    А в чем принципиальное отличие от http://infostart.ru/public/176775/?

    Reply
  13. pumbaE

    (12) GoodBeaver, принципиальное

    1. Открытость

    2. Кросплатформенность.

    3. Модули можно просматривать с любого текстового редактора.

    Reply
  14. GoodBeaver

    (13) Надо будет рассказать об этом Evil Beaver`у 🙂

    Reply
  15. ilov_boris

    В следующей версии 1c-toolkit будет интереснее: http://www.youtube.com/watch?v=pS3hHHt5Puw&feature=youtu.be

    Reply
  16. Evil Beaver

    (13) pumbaE, EvilBeaver на связи ).

    Вопрос автору — в чем собссна плюшки?

    Кроссплатформенность — пока не в счет, при всем уважении к линуксам и макосям — конфигуратора под них пока нет. Так или иначе разработка и отладка идет под винду. Конфигуратор 8.3 для Linux — падучий, работать толком нельзя.

    По поводу открытости V8 Viewer — неоднократно сообщал — хотите помочь, обращайтесь, из исходников секрета не делаю. Ни одного письма не получил. Ну совсем ни одного.

    И какой предполагается сценарий работы? Вот я хочу положить обработку в SVN(Git). Правильно ли я понял, что помимо обработки будут помещены текстовики модулей, отдельными файлами? Это же ужос-ужос. Лучше давайте развивать V8 Viewer. Уже почти готова версия с поддержкой внешних отчетов и другими улучшениями. Кроме того, есть идеи по редактированию модулей и макетов с возможностью обратной упаковки.

    Пожалуйста, не считайте рекламой, это просто мысли вслух.

    Reply
  17. Evil Beaver

    (14) GoodBeaver, интересный ник… Атака Клонов? 😉

    Reply
  18. ilov_boris

    (16) Evil Beaver, почему же ужос? Этот способ используется у меня в конторе и вполне удобен. Хранилище у нас подключено к redmine и я всегда могу посмотреть код и историю правок прямо в браузере. Могу скачать любую версию прямо в браузере.

    Reply
  19. ilov_boris

    (16) «Конфигуратор 8.3 для Linux — падучий, работать толком нельзя»

    Ну так это только начало…

    Reply
  20. Evil Beaver

    (18) тогда пожелание — текстовики хранить отдельно от самих обработок. а когда все в плоском списке, мне кажется, неудобно. Это субъективное мнение, конечно )

    Reply
  21. ilov_boris

    (20) Evil Beaver, на этот счет в статье написано: «Рекомендуется заводить в хранилище отдельные папки на каждую обработку.» 😉

    Reply
  22. ilov_boris

    (20) кроме того, текстовики можно сделать скрытыми если смущают 🙂

    Reply
  23. Evil Beaver

    (21) охохо… Конечно, кому как, но отдельный каталог на каждую обработку, а к ней до кучи модули… А у меня их, например, сотни, да еще и бранчи к ним.

    Как по мне, так ужос. Не, я лучше свой велосипед попользую. А так, хозяин-барин, кому как удобнее.

    Reply
  24. ilov_boris

    (23) Evil Beaver, аминь

    Reply
  25. Evil Beaver

    (24) зачем прям так сразу?

    Reply
  26. ilov_boris

    (25) Evil Beaver, как?

    Reply
  27. Evil Beaver

    (26) Сразу «аминь» 🙂

    Ладно, это шутка была такая. Проехали.

    Reply
  28. nafa

    Спасибо большое автору, очень нужная программа, а то сейчас приходится все это вручную делать.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *