|
35 | 35 | // Получает состояние репозитория |
36 | 36 | // git status |
37 | 37 | // |
| 38 | +// Параметры: |
| 39 | +// ВКороткомФормате - Булево - Вывод в коротком формате |
| 40 | +// |
38 | 41 | // Возвращаемое значение: |
39 | 42 | // Строка - Вывод команды |
40 | 43 | // |
41 | | -Функция Статус() Экспорт |
| 44 | +Функция Статус(Знач ВКороткомФормате = Ложь) Экспорт |
42 | 45 |
|
43 | 46 | ПараметрыЗапуска = Новый Массив; |
44 | 47 | ПараметрыЗапуска.Добавить("status"); |
| 48 | + Если ВКороткомФормате Тогда |
| 49 | + ПараметрыЗапуска.Добавить("--short"); |
| 50 | + КонецЕсли; |
45 | 51 |
|
46 | 52 | ВыполнитьКоманду(ПараметрыЗапуска); |
47 | 53 |
|
|
87 | 93 | Знач ДатаКоммита = '00010101') Экспорт |
88 | 94 |
|
89 | 95 | НадоВосстановитьКоммитера = Ложь; |
90 | | - НадоОчиститьУстановленныеПеременные = ложь; |
91 | | - |
| 96 | + НадоОчиститьУстановленныеПеременные = Ложь; |
| 97 | + НадоУдалитьВременныйФайлКомментария = Ложь; |
| 98 | + ИмяВременногоФайлаКомментария = ""; |
| 99 | + |
92 | 100 | ПараметрыЗапуска = Новый Массив; |
93 | 101 | ПараметрыЗапуска.Добавить("commit"); |
94 | 102 | ПараметрыЗапуска.Добавить("--allow-empty"); |
|
100 | 108 | Если Не ПустаяСтрока(ПутьКФайлуКоммита) Тогда |
101 | 109 | ПараметрыЗапуска.Добавить("-F"); |
102 | 110 | ПараметрыЗапуска.Добавить(ОбернутьВКавычки(ПутьКФайлуКоммита)); |
| 111 | + ИначеЕсли СтрНайти(ТекстСообщения, Символы.ПС) Тогда // для многострочных комментариев стоит использовать файл |
| 112 | + ИмяВременногоФайлаКомментария = ПолучитьИмяВременногоФайла(); |
| 113 | + ТекстовыйДокумент = Новый ТекстовыйДокумент; |
| 114 | + ТекстовыйДокумент.УстановитьТекст(ТекстСообщения); |
| 115 | + ТекстовыйДокумент.Записать(ИмяВременногоФайлаКомментария, "utf-8"); |
| 116 | + |
| 117 | + ПараметрыЗапуска.Добавить("-F"); |
| 118 | + ПараметрыЗапуска.Добавить(ОбернутьВКавычки(ИмяВременногоФайлаКомментария)); |
| 119 | + |
| 120 | + НадоУдалитьВременныйФайлКомментария = Истина; |
103 | 121 | Иначе |
104 | 122 | ПараметрыЗапуска.Добавить("-m"); |
105 | 123 | ПараметрыЗапуска.Добавить(ОбернутьВКавычки(ТекстСообщения)); |
|
121 | 139 | КонецЕсли; |
122 | 140 |
|
123 | 141 | Если ЗначениеЗаполнено(ДатаАвтораКоммита) Тогда |
124 | | - ПараметрыЗапуска.Добавить("--date="+ ОбернутьВКавычки(ДатаАвтораКоммита)); |
| 142 | + НадоОчиститьУстановленныеПеременные = Истина; |
| 143 | + УстановитьДатуАвтораКоммита(ДатаАвтораКоммита); |
125 | 144 | КонецЕсли; |
126 | 145 |
|
127 | 146 | КомандаВыполненаУспешно = Истина; |
|
139 | 158 | ВосстановитьКоммитера(); |
140 | 159 | КонецЕсли; |
141 | 160 |
|
| 161 | + Если НадоУдалитьВременныйФайлКомментария Тогда |
| 162 | + Попытка |
| 163 | + УдалитьФайлы(ИмяВременногоФайлаКомментария); |
| 164 | + Исключение |
| 165 | + // не обрабатываем |
| 166 | + КонецПопытки |
| 167 | + КонецЕсли; |
| 168 | + |
142 | 169 | Если НЕ КомандаВыполненаУспешно Тогда |
143 | 170 | ВызватьИсключение ВыводКоманды; |
144 | 171 | КонецЕсли; |
|
996 | 1023 |
|
997 | 1024 | КонецПроцедуры // УстановитьПеременнуюСреды() |
998 | 1025 |
|
| 1026 | +// Устанавливает переменную системы GIT_AUTHOR_DATE |
| 1027 | +// |
| 1028 | +// Параметры: |
| 1029 | +// Дата - Дата - Дата для установки даты автора, отличной от текущей даты |
| 1030 | +// |
| 1031 | +Процедура УстановитьДатуАвтораКоммита(Знач Дата) |
| 1032 | + |
| 1033 | + УстановитьПеременнуюСреды("GIT_AUTHOR_DATE", Дата); |
| 1034 | + |
| 1035 | +КонецПроцедуры // УстановитьДатуАвтораКоммита() |
| 1036 | + |
999 | 1037 | // Устанавливает коммитера комментария в дополнительную секцию локальной настройки репозитория |
1000 | 1038 | // |
1001 | 1039 | // Параметры: |
|
0 commit comments