Клиентский хук для 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 не будет опубликован. Обязательные поля помечены *