|
9 | 9 |
|
10 | 10 | Перем URLРепозитория; |
11 | 11 | Перем ИмяВетки; |
| 12 | +Перем ИмяВеткиСлияния; |
12 | 13 | Перем ПолучитьИзменения; |
13 | 14 | Перем ОтправитьИзменения; |
| 15 | +Перем ОтправитьЗапросНаСлияние; |
14 | 16 |
|
15 | 17 | Перем КоличествоКоммитовДоPush; |
16 | 18 | Перем СчетчикКоммитов; |
|
85 | 87 |
|
86 | 88 | URLРепозитория = ""; |
87 | 89 | ИмяВетки = ""; |
| 90 | + ИмяВеткиСлияния = ""; |
88 | 91 | ПолучитьИзменения = Ложь; |
89 | 92 | ОтправитьИзменения = Ложь; |
| 93 | + ОтправитьЗапросНаСлияние = Ложь; |
90 | 94 | ОтправлятьТеги = Ложь; |
91 | 95 | PushOptions = ""; |
92 | 96 |
|
|
110 | 114 | КлассРеализации.Опция("G pull", Ложь, "[*sync-remote] Флаг получения изменений из удаленный репозитория перед синхронизацией") |
111 | 115 | .Флаг() |
112 | 116 | .ВОкружении("GITSYNC_REMOTE_PULL"); |
| 117 | + КлассРеализации.Опция("MR merge-request", Ложь, "[*sync-remote] Флаг запроса на слияние на удаленный репозиторий при пуше") |
| 118 | + .Флаг() |
| 119 | + .ВОкружении("GITSYNC_REMOTE_MERGE_REQUEST"); |
113 | 120 | КлассРеализации.Опция("b branch", "master", "[*sync-remote] Имя ветки") |
114 | 121 | .ТСтрока() |
115 | 122 | .ВОкружении("GITSYNC_REMOTE_BRANCH"); |
| 123 | + КлассРеализации.Опция("mb merge-branch", "develop", "[*sync-remote] Имя ветки слияния") |
| 124 | + .ТСтрока() |
| 125 | + .ВОкружении("GITSYNC_REMOTE_MERGE_REQUEST_BRANCH"); |
116 | 126 | КлассРеализации.Опция("T push-tags", Ложь, "[*sync-remote] Флаг отправки тегов по версиям") |
117 | 127 | .Флаг() |
118 | 128 | .ВОкружении("GITSYNC_REMOTE_PUSH_TAGS"); |
|
133 | 143 |
|
134 | 144 | URLРепозитория = ПараметрыКоманды.Параметр("URL", ""); |
135 | 145 | ИмяВетки = ПараметрыКоманды.Параметр("branch", ""); |
| 146 | + ИмяВеткиСлияния = ПараметрыКоманды.Параметр("merge-branch", ""); |
136 | 147 |
|
137 | 148 | ПолучитьИзменения = ПараметрыКоманды.Параметр("pull", Ложь); |
138 | 149 | ОтправитьИзменения = ПараметрыКоманды.Параметр("push", Ложь); |
| 150 | + ОтправитьЗапросНаСлияние = ПараметрыКоманды.Параметр("merge-request", Ложь); |
139 | 151 | ОтправлятьТеги = ПараметрыКоманды.Параметр("push-tags", Ложь); |
140 | 152 | PushOptions = СтрРазделить(ПараметрыКоманды.Параметр("push-options", ""), ";"); |
141 | 153 |
|
142 | 154 | КоличествоКоммитовДоPush = ПараметрыКоманды.Параметр("push-n-commits", 0); |
143 | 155 |
|
144 | 156 | Лог.Отладка("Установлено получение изменений <%1> ", ПолучитьИзменения); |
145 | 157 | Лог.Отладка("Установлено имя ветки <%1> ", ИмяВетки); |
| 158 | + Лог.Отладка("Установлено имя ветки слияния <%1> ", ИмяВеткиСлияния); |
146 | 159 | Лог.Отладка("Установлена отправка изменений <%1> ", ОтправитьИзменения); |
| 160 | + Лог.Отладка("Установлен запрос на слияние <%1> ", ОтправитьЗапросНаСлияние); |
147 | 161 | Лог.Отладка("Установлено количество коммитов <%1>, после которых осуществляется отправка", КоличествоКоммитовДоPush); |
148 | 162 | Лог.Отладка("Установлен флаг отправки меток в значение <%1> выгрузки версий", ОтправлятьТеги); |
149 | 163 | Лог.Отладка("Установлены дополнительные параметры команды push: <%1>", СтрСоединить(PushOptions, ", ")); |
|
206 | 220 | ПараметрыКомандыPush.Добавить("push -u"); |
207 | 221 | ПараметрыКомандыPush.Добавить(СтрЗаменить(URLРепозитория, "%", "%%")); |
208 | 222 | ПараметрыКомандыPush.Добавить("-v"); |
209 | | - |
| 223 | + Если ОтправитьЗапросНаСлияние Тогда |
| 224 | + ПараметрыКомандыPush.Добавить("HEAD:refs/heads/" + ИмяВеткиСлияния); |
| 225 | + Иначе |
| 226 | + ПараметрыКомандыPush.Добавить(ИмяВетки); |
| 227 | + КонецЕсли; |
| 228 | + |
210 | 229 | Для Каждого Опция Из PushOptions Цикл |
211 | 230 | Если Не ПустаяСтрока(Опция) Тогда |
212 | 231 | ПараметрыКомандыPush.Добавить("-o " + Опция); |
|
257 | 276 |
|
258 | 277 | URLРепозитория = ""; |
259 | 278 | ИмяВетки = ""; |
| 279 | + ИмяВеткиСлияния = ""; |
260 | 280 | ПолучитьИзменения = Ложь; |
261 | 281 | ОтправитьИзменения = Ложь; |
| 282 | + ОтправитьЗапросНаСлияние = Ложь; |
262 | 283 | ОтправлятьТеги = Ложь; |
263 | 284 |
|
264 | 285 | КоличествоКоммитовДоPush = 0; |
|
0 commit comments