File tree Expand file tree Collapse file tree 8 files changed +62
-6
lines changed
Expand file tree Collapse file tree 8 files changed +62
-6
lines changed Original file line number Diff line number Diff line change 6666 И Код возврата команды "gitsync" равен 0
6767 И Я очищаю значение переменных окружения
6868 |GITSYNC_STORAGE_PATH |
69+ |GITSYNC_WORKDIR |
70+
71+ Сценарий : Синхронизация хранилища с git-репозиторием с использованием пути к git
72+ Допустим Я создаю временный каталог и сохраняю его в переменной "ВременнаяДиректория"
73+ И Я добавляю параметр "--tempdir" для команды "gitsync" из переменной "ВременнаяДиректория"
74+ И Я добавляю параметр "--git-path git" для команды "gitsync"
75+ И Я добавляю параметр "-v" для команды "gitsync"
76+ И Я добавляю параметр "sync" для команды "gitsync"
77+ И Я устанавливаю переменную окружения "GITSYNC_STORAGE_PATH" из переменной "КаталогХранилища1С"
78+ И Я устанавливаю переменную окружения "GITSYNC_WORKDIR" из переменной "ПутьКаталогаИсходников"
79+ Когда Я выполняю команду "gitsync"
80+ Тогда Вывод команды "gitsync" содержит "ИНФОРМАЦИЯ - Завершена синхронизации с git"
81+ И Вывод команды "gitsync" не содержит "Внешнее исключение"
82+ И Код возврата команды "gitsync" равен 0
83+ И Я очищаю значение переменных окружения
84+ |GITSYNC_STORAGE_PATH |
6985 |GITSYNC_WORKDIR |
Original file line number Diff line number Diff line change 3131
3232 Приложение.Опция("t tempdir" , "" , "путь к каталогу временных файлов" )
3333 .ВОкружении("GITSYNC_TEMP" );
34-
34+
35+ Приложение.Опция("git-path" , "" , "путь к исполняемому файлу git" )
36+ .ВОкружении("GITSYNC_GIT_PATH GIT_PATH" );
37+
3538 Приложение.Опция("domain-email" , "localhost" , "домен почты для пользователей git" )
3639 .ВОкружении("GITSYNC_EMAIL" );
3740
6164
6265 ВерсияПлатформы = Команда.ЗначениеОпции("v8version" );
6366 ВыводДополнительнойИнформации = Команда.ЗначениеОпции("verbose" );
64- //Плагины = Команда.ЗначениеОпции("plugins ");
67+ ПутьКГит = Команда.ЗначениеОпции("git-path " );
6568 ДоменПочты = Команда.ЗначениеОпции("domain-email" );
6669 ВременныйКаталогРаботы = Команда.ЗначениеОпции("tempdir" );
6770 ДоменПочты = Команда.ЗначениеОпции("domain-email" );
7073
7174 Лог.Отладка("Устанавливаю общие параметры" );
7275 ПараметрыПриложения.УстановитьВерсиюПлатформы(ВерсияПлатформы);
73- // ПараметрыПриложения.УстановитьПлагины(Плагины );
76+ ПараметрыПриложения.УстановитьПутьКГит(ПутьКГит );
7477 ПараметрыПриложения.УстановитьДоменПочты(ДоменПочты);
7578 ПараметрыПриложения.УстановитьВременныйКаталог(ВременныйКаталогРаботы);
7679
Original file line number Diff line number Diff line change 5959 Распаковщик = Новый МенеджерСинхронизации();
6060 Распаковщик.ВерсияПлатформы(ОбщиеПараметры.ВерсияПлатформы)
6161 .ДоменПочтыПоУмолчанию(ОбщиеПараметры.ДоменПочты)
62+ .ИсполняемыйФайлГит(ОбщиеПараметры.ПутьКГит)
6263 .ПодпискиНаСобытия(ИндексПлагинов)
6364 .ПараметрыПодписокНаСобытия(Команда.ПараметрыКоманды())
6465 .УровеньЛога(ПараметрыПриложения.УровеньЛога())
7879 Лог.Отладка("URL репозитория: <%1>" , URLРепозитария);
7980
8081 ГитРепозиторий = Новый ГитРепозиторий;
82+
83+ ОбщиеПараметры = ПараметрыПриложения.Параметры();
84+
85+ Если ЗначениеЗаполнено (ОбщиеПараметры.ПутьКГит) Тогда
86+ ГитРепозиторий.УстановитьПутьКГит(ОбщиеПараметры.ПутьКГит);
87+ КонецЕсли ;
88+
8189 ГитРепозиторий.УстановитьРабочийКаталог(КаталогЛокальнойКопии);
8290 ГитРепозиторий.КлонироватьРепозиторий(URLРепозитария, КаталогЛокальнойКопии);
8391
Original file line number Diff line number Diff line change 6161 Распаковщик = Новый МенеджерСинхронизации();
6262 Распаковщик.ВерсияПлатформы(ОбщиеПараметры.ВерсияПлатформы)
6363 .ДоменПочтыПоУмолчанию(ОбщиеПараметры.ДоменПочты)
64+ .ИсполняемыйФайлГит(ОбщиеПараметры.ПутьКГит)
6465 .ПодпискиНаСобытия(ИндексПлагинов)
6566 .ПараметрыПодписокНаСобытия(Команда.ПараметрыКоманды())
6667 .УровеньЛога(ПараметрыПриложения.УровеньЛога())
Original file line number Diff line number Diff line change 2121 НомерВерсии = Команда.ЗначениеАргумента("VERSION" );
2222 КаталогРабочейКопии = Команда.ЗначениеАргумента("WORKDIR" );
2323
24- ВызватьКоммит = Команда.ЗначениеОпции("-- commit" );
24+ ВызватьКоммит = Команда.ЗначениеОпции("commit" );
2525
2626 ОбщиеПараметры = ПараметрыПриложения.Параметры();
2727 МенеджерПлагинов = ОбщиеПараметры.УправлениеПлагинами;
3030
3131 Распаковщик = Новый МенеджерСинхронизации();
3232 Распаковщик.ВерсияПлатформы(ОбщиеПараметры.ВерсияПлатформы)
33+ .ДоменПочтыПоУмолчанию(ОбщиеПараметры.ДоменПочты)
34+ .ИсполняемыйФайлГит(ОбщиеПараметры.ПутьКГит)
3335 .ПодпискиНаСобытия(ИндексПлагинов)
3436 .ПараметрыПодписокНаСобытия(Команда.ПараметрыКоманды())
3537 .УровеньЛога(ПараметрыПриложения.УровеньЛога());
Original file line number Diff line number Diff line change 5656 Распаковщик = Новый МенеджерСинхронизации();
5757 Распаковщик.ВерсияПлатформы(ОбщиеПараметры.ВерсияПлатформы)
5858 .ДоменПочтыПоУмолчанию(ОбщиеПараметры.ДоменПочты)
59+ .ИсполняемыйФайлГит(ОбщиеПараметры.ПутьКГит)
5960 .ПодпискиНаСобытия(ИндексПлагинов)
6061 .ПараметрыПодписокНаСобытия(Команда.ПараметрыКоманды())
6162 .УровеньЛога(ПараметрыПриложения.УровеньЛога())
Original file line number Diff line number Diff line change 1212 ОбщиеПараметры.Вставить("Плагины" , Новый Массив);
1313 ОбщиеПараметры.Вставить("ВерсияПлатформы" , "8.3" );
1414 ОбщиеПараметры.Вставить("ДоменПочты" , "localhost" );
15+ ОбщиеПараметры.Вставить("ПутьКГит" , "" );
1516
1617 ПодготовитьПлагины();
1718
1819КонецПроцедуры
1920
20- Процедура УстановитьВерсиюПлатформы (ВерсияПлатформы ) Экспорт
21+ Процедура УстановитьВерсиюПлатформы (Знач ВерсияПлатформы ) Экспорт
2122 ОбщиеПараметры.Вставить("ВерсияПлатформы" , ВерсияПлатформы);
2223КонецПроцедуры
2324
25+ Процедура УстановитьПутьКГит (Знач ПутьКГит ) Экспорт
26+ ОбщиеПараметры.Вставить("ПутьКГит" , ПутьКГит);
27+ КонецПроцедуры
28+
2429Процедура УстановитьКаталогПлагинов (Знач ПутьККаталогуПлагинов ) Экспорт
2530
2631 ЛогПриложения.Отладка("Устанавливаю каталог плагинов <%1>" , ПутьККаталогуПлагинов);
Original file line number Diff line number Diff line change 2424Перем ХранилищеКонфигурации ; // Объект.МенеджерХранилищаКонфигурации
2525Перем АвторизацияВХранилище ; // Структура ключи <Пользователь>, <ПарольПользователя>
2626Перем МенеджерКонфигуратора ; // Объект.МенеджерКонфигуратора
27+ Перем ПутьКИсполняемомуФайлуGit ; // Строка, полный путь к исполняемому файлу git
2728
2829///////////////////////////////////////////////////////////////////////////////////////////////
2930// ПРОГРАММНЫЙ ИНТЕРФЕЙС
160161
161162КонецФункции
162163
164+ // Устанавливает путь к исполняемому файлу git
165+ //
166+ // Параметры:
167+ // НовыйПутьКИсполняемомуФайлуГит - Строка - путь к исполняемому файлу git
168+ //
169+ // Возвращаемое значение:
170+ // Объект.МенеджерСинхронизации - ссылка на текущий объект класса <МенеджерСинхронизации>
171+ //
172+ Функция ИсполняемыйФайлГит (Знач НовыйПутьКИсполняемомуФайлуГит ) Экспорт
173+
174+ ПутьКИсполняемомуФайлуGit = НовыйПутьКИсполняемомуФайлуГит;
175+ Возврат ЭтотОбъект;
176+
177+ КонецФункции
178+
163179// Основная функция синхронизации.
164180// Перемещает в git набор коммитов хранилища 1С
165181//
619635 ГитРепозиторий = Новый ГитРепозиторий;
620636 ГитРепозиторий.УстановитьРабочийКаталог(КаталогРабочейКопии);
621637 ГитРепозиторий.УстановитьТихийРежимРаботы();
622-
638+
639+ Если ЗначениеЗаполнено (ПутьКИсполняемомуФайлуGit) Тогда
640+ ГитРепозиторий.УстановитьПутьКГит(ПутьКИсполняемомуФайлуGit);
641+ КонецЕсли ;
642+
623643 ГитРепозиторий.УстановитьНастройку("core.quotepath" , "false" , РежимУстановкиНастроекGit.Локально);
624644 ГитРепозиторий.УстановитьНастройку("merge.ours.driver" , "true" , РежимУстановкиНастроекGit.Локально);
625645
You can’t perform that action at this time.
0 commit comments