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 66
66
И Код возврата команды "gitsync" равен 0
67
67
И Я очищаю значение переменных окружения
68
68
|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 |
69
85
|GITSYNC_WORKDIR |
Original file line number Diff line number Diff line change 31
31
32
32
Приложение.Опция("t tempdir" , "" , "путь к каталогу временных файлов" )
33
33
.ВОкружении("GITSYNC_TEMP" );
34
-
34
+
35
+ Приложение.Опция("git-path" , "" , "путь к исполняемому файлу git" )
36
+ .ВОкружении("GITSYNC_GIT_PATH GIT_PATH" );
37
+
35
38
Приложение.Опция("domain-email" , "localhost" , "домен почты для пользователей git" )
36
39
.ВОкружении("GITSYNC_EMAIL" );
37
40
61
64
62
65
ВерсияПлатформы = Команда.ЗначениеОпции("v8version" );
63
66
ВыводДополнительнойИнформации = Команда.ЗначениеОпции("verbose" );
64
- //Плагины = Команда.ЗначениеОпции("plugins ");
67
+ ПутьКГит = Команда.ЗначениеОпции("git-path " );
65
68
ДоменПочты = Команда.ЗначениеОпции("domain-email" );
66
69
ВременныйКаталогРаботы = Команда.ЗначениеОпции("tempdir" );
67
70
ДоменПочты = Команда.ЗначениеОпции("domain-email" );
70
73
71
74
Лог.Отладка("Устанавливаю общие параметры" );
72
75
ПараметрыПриложения.УстановитьВерсиюПлатформы(ВерсияПлатформы);
73
- // ПараметрыПриложения.УстановитьПлагины(Плагины );
76
+ ПараметрыПриложения.УстановитьПутьКГит(ПутьКГит );
74
77
ПараметрыПриложения.УстановитьДоменПочты(ДоменПочты);
75
78
ПараметрыПриложения.УстановитьВременныйКаталог(ВременныйКаталогРаботы);
76
79
Original file line number Diff line number Diff line change 59
59
Распаковщик = Новый МенеджерСинхронизации();
60
60
Распаковщик.ВерсияПлатформы(ОбщиеПараметры.ВерсияПлатформы)
61
61
.ДоменПочтыПоУмолчанию(ОбщиеПараметры.ДоменПочты)
62
+ .ИсполняемыйФайлГит(ОбщиеПараметры.ПутьКГит)
62
63
.ПодпискиНаСобытия(ИндексПлагинов)
63
64
.ПараметрыПодписокНаСобытия(Команда.ПараметрыКоманды())
64
65
.УровеньЛога(ПараметрыПриложения.УровеньЛога())
78
79
Лог.Отладка("URL репозитория: <%1>" , URLРепозитария);
79
80
80
81
ГитРепозиторий = Новый ГитРепозиторий;
82
+
83
+ ОбщиеПараметры = ПараметрыПриложения.Параметры();
84
+
85
+ Если ЗначениеЗаполнено (ОбщиеПараметры.ПутьКГит) Тогда
86
+ ГитРепозиторий.УстановитьПутьКГит(ОбщиеПараметры.ПутьКГит);
87
+ КонецЕсли ;
88
+
81
89
ГитРепозиторий.УстановитьРабочийКаталог(КаталогЛокальнойКопии);
82
90
ГитРепозиторий.КлонироватьРепозиторий(URLРепозитария, КаталогЛокальнойКопии);
83
91
Original file line number Diff line number Diff line change 61
61
Распаковщик = Новый МенеджерСинхронизации();
62
62
Распаковщик.ВерсияПлатформы(ОбщиеПараметры.ВерсияПлатформы)
63
63
.ДоменПочтыПоУмолчанию(ОбщиеПараметры.ДоменПочты)
64
+ .ИсполняемыйФайлГит(ОбщиеПараметры.ПутьКГит)
64
65
.ПодпискиНаСобытия(ИндексПлагинов)
65
66
.ПараметрыПодписокНаСобытия(Команда.ПараметрыКоманды())
66
67
.УровеньЛога(ПараметрыПриложения.УровеньЛога())
Original file line number Diff line number Diff line change 21
21
НомерВерсии = Команда.ЗначениеАргумента("VERSION" );
22
22
КаталогРабочейКопии = Команда.ЗначениеАргумента("WORKDIR" );
23
23
24
- ВызватьКоммит = Команда.ЗначениеОпции("-- commit" );
24
+ ВызватьКоммит = Команда.ЗначениеОпции("commit" );
25
25
26
26
ОбщиеПараметры = ПараметрыПриложения.Параметры();
27
27
МенеджерПлагинов = ОбщиеПараметры.УправлениеПлагинами;
30
30
31
31
Распаковщик = Новый МенеджерСинхронизации();
32
32
Распаковщик.ВерсияПлатформы(ОбщиеПараметры.ВерсияПлатформы)
33
+ .ДоменПочтыПоУмолчанию(ОбщиеПараметры.ДоменПочты)
34
+ .ИсполняемыйФайлГит(ОбщиеПараметры.ПутьКГит)
33
35
.ПодпискиНаСобытия(ИндексПлагинов)
34
36
.ПараметрыПодписокНаСобытия(Команда.ПараметрыКоманды())
35
37
.УровеньЛога(ПараметрыПриложения.УровеньЛога());
Original file line number Diff line number Diff line change 56
56
Распаковщик = Новый МенеджерСинхронизации();
57
57
Распаковщик.ВерсияПлатформы(ОбщиеПараметры.ВерсияПлатформы)
58
58
.ДоменПочтыПоУмолчанию(ОбщиеПараметры.ДоменПочты)
59
+ .ИсполняемыйФайлГит(ОбщиеПараметры.ПутьКГит)
59
60
.ПодпискиНаСобытия(ИндексПлагинов)
60
61
.ПараметрыПодписокНаСобытия(Команда.ПараметрыКоманды())
61
62
.УровеньЛога(ПараметрыПриложения.УровеньЛога())
Original file line number Diff line number Diff line change 12
12
ОбщиеПараметры.Вставить("Плагины" , Новый Массив);
13
13
ОбщиеПараметры.Вставить("ВерсияПлатформы" , "8.3" );
14
14
ОбщиеПараметры.Вставить("ДоменПочты" , "localhost" );
15
+ ОбщиеПараметры.Вставить("ПутьКГит" , "" );
15
16
16
17
ПодготовитьПлагины();
17
18
18
19
КонецПроцедуры
19
20
20
- Процедура УстановитьВерсиюПлатформы (ВерсияПлатформы ) Экспорт
21
+ Процедура УстановитьВерсиюПлатформы (Знач ВерсияПлатформы ) Экспорт
21
22
ОбщиеПараметры.Вставить("ВерсияПлатформы" , ВерсияПлатформы);
22
23
КонецПроцедуры
23
24
25
+ Процедура УстановитьПутьКГит (Знач ПутьКГит ) Экспорт
26
+ ОбщиеПараметры.Вставить("ПутьКГит" , ПутьКГит);
27
+ КонецПроцедуры
28
+
24
29
Процедура УстановитьКаталогПлагинов (Знач ПутьККаталогуПлагинов ) Экспорт
25
30
26
31
ЛогПриложения.Отладка("Устанавливаю каталог плагинов <%1>" , ПутьККаталогуПлагинов);
Original file line number Diff line number Diff line change 24
24
Перем ХранилищеКонфигурации ; // Объект.МенеджерХранилищаКонфигурации
25
25
Перем АвторизацияВХранилище ; // Структура ключи <Пользователь>, <ПарольПользователя>
26
26
Перем МенеджерКонфигуратора ; // Объект.МенеджерКонфигуратора
27
+ Перем ПутьКИсполняемомуФайлуGit ; // Строка, полный путь к исполняемому файлу git
27
28
28
29
///////////////////////////////////////////////////////////////////////////////////////////////
29
30
// ПРОГРАММНЫЙ ИНТЕРФЕЙС
160
161
161
162
КонецФункции
162
163
164
+ // Устанавливает путь к исполняемому файлу git
165
+ //
166
+ // Параметры:
167
+ // НовыйПутьКИсполняемомуФайлуГит - Строка - путь к исполняемому файлу git
168
+ //
169
+ // Возвращаемое значение:
170
+ // Объект.МенеджерСинхронизации - ссылка на текущий объект класса <МенеджерСинхронизации>
171
+ //
172
+ Функция ИсполняемыйФайлГит (Знач НовыйПутьКИсполняемомуФайлуГит ) Экспорт
173
+
174
+ ПутьКИсполняемомуФайлуGit = НовыйПутьКИсполняемомуФайлуГит;
175
+ Возврат ЭтотОбъект;
176
+
177
+ КонецФункции
178
+
163
179
// Основная функция синхронизации.
164
180
// Перемещает в git набор коммитов хранилища 1С
165
181
//
619
635
ГитРепозиторий = Новый ГитРепозиторий;
620
636
ГитРепозиторий.УстановитьРабочийКаталог(КаталогРабочейКопии);
621
637
ГитРепозиторий.УстановитьТихийРежимРаботы();
622
-
638
+
639
+ Если ЗначениеЗаполнено (ПутьКИсполняемомуФайлуGit) Тогда
640
+ ГитРепозиторий.УстановитьПутьКГит(ПутьКИсполняемомуФайлуGit);
641
+ КонецЕсли ;
642
+
623
643
ГитРепозиторий.УстановитьНастройку("core.quotepath" , "false" , РежимУстановкиНастроекGit.Локально);
624
644
ГитРепозиторий.УстановитьНастройку("merge.ours.driver" , "true" , РежимУстановкиНастроекGit.Локально);
625
645
You can’t perform that action at this time.
0 commit comments