0. team bios 26 25.12.15 11:17 Сейчас в теме

Скрипт выгрузки хранилища в GIT на Python (beta)

Скрипт для выгрузки хранилища 1С в GIT для платформ 8.1, 8.2(не тестировалось), 8.3

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. artbear 1099 26.01.16 16:53 Сейчас в теме
Еще один в клуб разборщиков конфы на исходники :)

Исходники выложены, кто хочет помочь, присоединяйтесь.

Ссылка на исходники не работает.
7. team bios 26 26.01.16 17:36 Сейчас в теме
(1) artbear, ссылку поправили, спасибо! И спасибо за интерес!;)
2. artbear 1099 26.01.16 17:03 Сейчас в теме
3. artbear 1099 26.01.16 17:03 Сейчас в теме
Добавьте лицензию к проекту
4. Infactum 268 26.01.16 17:17 Сейчас в теме
В целом проект радует. После беглого взгляда рекомендовал бы следующее:
- Убрать велосипед git_mng.py. Вместо него есть такая великолепная вещь, как GitPython.
- Заимствуя чужой код не нарушать лицензию :) Намекаю на мой проект. Что мешало просто включить его в качестве зависимости?
- После реализации предыдущих пунктов сделать нормальный setup.py и залить все в pip.
artbear; Evil Beaver; +2 Ответить
5. team bios 26 26.01.16 17:27 Сейчас в теме
(4) Infactum, GitPython - чтот не взлетел по-быстрому, так что пришлось сделать костыль, а так да, в дальнейшем планируется работа с гитом через него.
по проекту вашему, из него была взята идея и небольшая часть кода, мы боролись за скорость и наше решение выигрывало.
6. Infactum 268 26.01.16 17:30 Сейчас в теме
(5) заимствование части кода как бы не отменяет требований лицензии :)
А если отложить занудство в сторону, то был бы рад получить более подробное описание относительно того, какие проблемы скорости работы вы встретили и как они были решены. В идеале можно и pull request, но настаивать конечно не могу.
8. team bios 26 26.01.16 17:38 Сейчас в теме
(6) Infactum, хорошо, будем внимательнее:) Чуть позже отпишем по подробностям. Спасибо!
9. team bios 26 26.01.16 17:41 Сейчас в теме
(6) Infactum, по лицензии и возможности pull request позже. мы только после последнего ивента занялись вопросом git и open source:)
23. team bios 26 27.01.16 14:25 Сейчас в теме
(6) Infactum, про проблемы сложно сказать, т.к. проект был написан с нуля с использованием части Вашего кода(разбор описания таблиц и преобразование типов + некоторые идеи) за это вам большое спасибо, уже исправились в части лицензировния:)). В чистом виде Ваше решение у нас не взлетело, решили писать свой велосипед (уже поняли, что это не популярное мероприятие в местных кругах, но интересно же:)). Можно только по итогу сказать - разница в быстродействии - примерно в 2 раза (база ~ 3гб; onec_tools: 06:28.567312; cfg_tools: 03:49.299595). Если есть желание можем попробовать объеденить наши проекты. но это надо обсуждать отдельно.
25. Infactum 268 27.01.16 16:16 Сейчас в теме
(23) опубликуйте код теста, которым вы производительность сравниваете, пожалуйста (например на GIST). Как будет время я обязательно посмотрю, что там с быстродействием.
26. team bios 26 27.01.16 16:26 Сейчас в теме
(25) Infactum, текст кода, была идея сначала, что дело в BLOB, но увы они мало влияют. А так, профйлер покажет что надо улучшать.
29. KAV2 14.08.16 07:41 Сейчас в теме
(6) Infactum, А равзе MIT лицензия не предусматривает что проект является общественным достоянием и код можно использовать по своем усмотрению, в том числе использовать код в своих проектах?
30. Infactum 268 14.08.16 10:20 Сейчас в теме
(29) alexkmbk, можно.
У лицензии MIT всего лишь одно условие:
Указанное выше уведомление об авторском праве и данные условия должны быть включены во все копии или значимые части данного Программного Обеспечения.
22. team bios 26 27.01.16 14:00 Сейчас в теме
(4) Infactum, Добавили лицензию и включили в нее Вас
10. Evil Beaver 5374 26.01.16 18:10 Сейчас в теме
Быструю многопоточную разбиралку CF на базе unpackv8 (С++) делал Сергей Батанов (http://infostart.ru/profile/45491/). Оно как бы хорошо, что вы все наши наработки знаете и пробовали, а все ж теперь есть "еще одна", а не развитие существующих.
12. Infactum 268 26.01.16 18:25 Сейчас в теме
(10) Evil Beaver, Ссылка куда-то не туда ведет.
В защиту Python (да и любой скриптовой реализации разбора) скажу, что не смотря на всю быстроту C++ необходимость самостоятельно сборки или наличия готовых бинарников под все системы несколько напрягает. Python например работает везде куда только не посмотри, и в большинстве случаев стоит "по дефолту". Кстати никто так и не решился сделать адекватное сравнение скорости работы распаковки/запаковки на Python и C++. В моем субъективном тесте Python версия как минимум работает так же по скорости.

(11) Evil Beaver, плюсую. НУ разве что кроме последнего пункта :)
А если надумают выйти на совсем взрослый уровень, то крайне желательно наличие тестов и какого-нибудь CI. Тот же Travis например практически идеальный вариант для гитхаба.
team bios; +1 Ответить
14. Evil Beaver 5374 26.01.16 19:24 Сейчас в теме
(12) Infactum, т.е. с предпоследним пунктом все-таки согласен?
16. team bios 26 26.01.16 20:38 Сейчас в теме
(10) Evil Beaver, Мы не нашли "наработок"(кроме Tool_1cd, но у него нет исходников в свободном доступе) на основании которых можно было бы сделать быструю выгрузку. Используя несколько инструментов(tool_1cd и unpuck, например) мы бы тратили лишнее время на сборку cf а потом разборку, когда, например, в коммите был 1 файл.
11. Evil Beaver 5374 26.01.16 18:18 Сейчас в теме
А, ну и чего не на гитхабе-то?

Предложение-дополнение Infactum:

1. Делаете пакет "разбиралки" файлов guid.0 из CF на файлы Справочник.ЧтоТоТам.Форма
2. Оформляете как самостоятельный пакет в pip
3. Делаете пакет вот этого вот синхронизатора
4. Подключаете существующий "читатель" 1CD, как зависимость
5. Опять же создаете пакет в pip
6. Переписываете все это на 1Скрипт :)
8. Выкладываете на гитхаб.
15. awa 2462 26.01.16 20:32 Сейчас в теме
(11)(14) Предпоследний пункт - это пункт 7 ведь?
19. Evil Beaver 5374 27.01.16 10:51 Сейчас в теме
(15) awa, нет, предпоследний - это пункт 6. Просто он две единицы занимает ))
17. team bios 26 26.01.16 20:40 Сейчас в теме
(11) Evil Beaver, У нас была одна задача на этом этапе - быстро перекинуть код. В будущем постараемся развить, спасибо за советы! А разработку оставим на питоне, потому как нравится:). А не на гитхабе, потому что после ивента решили познакомиться с гитом, "покурили" тему и выбрали гитлаб, потому что его можно бесплатно развернуть у себя (у нас есть закрытые проекты, такой режим на гитхабе платный). Вот и расшарили этот проект на своем сервере. Создаем учетку на гитхабе, опубликуем там проект. Спасибо!
theshadowco; +1 Ответить
18. Evil Beaver 5374 27.01.16 09:54 Сейчас в теме
(17) судя по недавним тикетам на gitsync и данной статье, вы с theshadowco - коллеги?

То, что в статье предложено, мне нравится. Я же не с критикой выступаю, а с предложениями. Ну и вообще, я сторонник подхода share the knowledge. Отсюда и желание видеть это в опенсорсе, на сервере, который не будет сегодня-завтра отключен владельцем. Это раз. И хочется видеть это в виде продукта, готового к повторному использованию, с соответствующей документацией и лицензией - это два.
21. team bios 26 27.01.16 12:53 Сейчас в теме
(18) Evil Beaver, нет, не коллеги и не знакомы)
Очень рады предложениям и с радостью их воспринимаем, спасибо! Про гитхаб все поняли, зарегились, опубликовали там проект https://github.com/TeamBIOS/cfg_tools ((3) artbear, лицензию добавили).
Про готовый продукт обсуждали между собой, чтобы все по-человечески доделать и опубликовать, но решили сделать это сейчас и после доработки обновить (для этого и приписали beta). В общем, оно и хорошо получилось, учтем все предложения при развитии проекта.
24. artbear 1099 27.01.16 15:38 Сейчас в теме
(21) Первый форк у меня :)
Лицензию увидел
team bios; +1 Ответить
13. artbear 1099 26.01.16 19:07 Сейчас в теме
Я на всякий случай сделал 2 origin-а, один из них ведет на исходный сайт автора, другой на гитхаб https://github.com/artbear/cfg_tools_python
(0) Как только определитесь с лицензией, поправлю репо на гитхабе.
20. pumbaE 611 27.01.16 11:20 Сейчас в теме
Добавили бы еще в gitsync частичную выгрузку только изменных модулей - цены б не было. Т.е. если в версии поменялся только модуль или толстая форма, тогда только их выгружаем по правильному пути, а в случаи изменения объектов или упр.форм тогда выгружаем все полностью всю конфигурацию.
JohnyDeath; +1 Ответить
27. Stas26 25.07.16 13:09 Сейчас в теме
Разместил хранилище с помощью гит хранилище на сайте bitbucket.org. Загрузка идет прекрассно. Можно ли каким-то образом сделать загрузку обратно в к конфигурацию 1С (хранилище), но не всю целиком (git clone ...), а выборочно? То есть, на сайте bitbucket.org хранится информация в коммитах. Допустим коммит 1 - Справочник Номенклатура, коммит 2 Справочник - Организация, коммит 3 - Справочник контрагенты. Мне нужно загрузить в конфигурацию 2 (хранилище 2) из этих 3 коммитов только 1, коммит 2, а остальные не загружать, так как например имеются там какие-нибудь ошибки. Можно это сделать? Если да, то как?
28. team bios 26 25.07.16 13:25 Сейчас в теме
(27) Stas26, На данный момент (в нашем инструменте) нет такой возможности.

Можно посмотреть в строну Tool_1cd, умеет ли он, если да то, можно выгрузить средствами гита нужные коммиты, привести имена файлов к нужному виду(для Tool_1cd) и скормить из ему. А может Tool_1cd уже имеет необходимый функционал.
31. Neco 125 18.12.17 14:06 Сейчас в теме
В файле store_reader.py в строке 126 ошибка
Сейчас
if not self.format_83:

должно быть
if self.format_83:
32. team bios 26 09.02.18 11:35 Сейчас в теме
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Москва
зарплата от 80 000 руб.
Полный день

Senior 1C Developer ЛЮБОЙ ГОРОД
Москва
зарплата от 80 000 руб.
Полный день

Консультант-аналитик 1С
Москва
зарплата от 120 000 руб. до 120 000 руб.
Полный день

Удаленный ИТ-журналист
Санкт-Петербург
По совместительству

Программист 1С
Санкт-Петербург
зарплата до 120 000 руб.
По совместительству