Skip to content

Commit 15a2f9f

Browse files
committed
Шаг добавления разобранных исходников в индекс git перед коммитом xDrivenDevelopment#32
1 parent 0479491 commit 15a2f9f

File tree

2 files changed

+29
-45
lines changed

2 files changed

+29
-45
lines changed

tests/v8files-extractor-test.os

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -95,11 +95,6 @@
9595

9696
ФайлОбработки = ПолучитьФайлТестовойОбработки();
9797

98-
// ЖурналИзмененийГит = ВременныеФайлы.НовоеИмяФайла();
99-
// ЗаписьТекста = Новый ЗаписьТекста(ЖурналИзмененийГит);
100-
// ЗаписьТекста.ЗаписатьСтроку("A " + ФайлОбработки.Имя);
101-
// ЗаписьТекста.ЗаписатьСтроку("M " + "pref-" + ФайлОбработки.Имя);
102-
// ЗаписьТекста.Закрыть();
10398
ЖурналИзмененийГит = "A " + ФайлОбработки.Имя+"
10499
| M " + "pref-" + ФайлОбработки.Имя;
105100

@@ -110,14 +105,6 @@
110105
Ожидаем.Что(МассивИмен, "Должны были найти измененный файл").Содержит("pref-" + ФайлОбработки.Имя);
111106
КонецПроцедуры
112107

113-
Процедура Тест_ДолженПроверитьРазборЭкранированнойКириллицы() Экспорт
114-
Строка = "ОТЛАДКА - Получен из журнала git файл ""src/Fixture/Form/\320\244\320\276\321\200\320\274\320\260/form""";
115-
Строка = "ОТЛАДКА - Получен из журнала git файл ""src/Fixture/Form/Форма/form""";
116-
Исполнитель = ЗагрузитьИсполнителя();
117-
Результат = Исполнитель.ДекодироватьЭкранированнуюКириллицу(Строка);
118-
Ожидаем.Что(Результат).Равен(
119-
КонецПроцедуры
120-
121108
Функция КаталогСодержитИсходникиОбработки(Знач Каталог)
122109
ВыгруженныеФайлы = НайтиФайлы(Каталог, ПолучитьМаскуВсеФайлы());
123110
ИменаВыгруженныхФайлов = РазвернутьМассивФайловВИменаФайлов(ВыгруженныеФайлы);

v8files-extractor.os

Lines changed: 29 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,13 @@
138138
КонецПроцедуры
139139

140140
Функция ТипФайлаПоддерживается(Файл)
141-
Возврат Найти(".epf,.erf,", Файл.Расширение+",") > 0;
141+
Если ПустаяСтрока(Файл.Расширение) Тогда
142+
Возврат Ложь;
143+
КонецЕсли;
144+
145+
Поз = Найти(".epf,.erf,", Файл.Расширение+",");
146+
Возврат Поз > 0;
147+
142148
КонецФункции
143149

144150
Функция РазобратьФайлВнутр(Знач ПутьФайла, Знач КаталогВыгрузки)
@@ -234,37 +240,17 @@
234240
КаталогИсходников = ОбъединитьПути(КореньРепо, ВыходнойКаталог);
235241
СписокНовыхКаталогов = Новый Массив;
236242
Для Каждого Файл Из ИменаФайлов Цикл
237-
238-
Если Найти(Файл, "\") > 0 Тогда
239-
// git вернул экранированные символы кириллицы
240-
Файл = ДекодироватьЭкранированнуюКириллицу(Файл);
243+
Если ТипФайлаПоддерживается(Новый Файл(Файл)) Тогда
244+
Лог.Отладка("Получен из журнала git файл " + Файл);
245+
ПолныйПуть = ОбъединитьПути(КореньРепо, Файл);
246+
СписокНовыхКаталогов.Добавить(РазобратьФайл(ПолныйПуть, КаталогИсходников));
241247
КонецЕсли;
242-
243-
Лог.Отладка("Получен из журнала git файл " + Файл);
244-
ПолныйПуть = ОбъединитьПути(КореньРепо, Файл);
245-
СписокНовыхКаталогов.Добавить(РазобратьФайл(ПолныйПуть, КаталогИсходников));
246248
КонецЦикла;
247249

248250
ДобавитьИсходникиВГит(СписокНовыхКаталогов);
249251

250252
КонецПроцедуры
251253

252-
Функция ДекодироватьЭкранированнуюКириллицу(Знач ИсходноеИмя)
253-
254-
Результат = "";
255-
Хвост = ИсходноеИмя;
256-
Поз = 0;
257-
Пока Истина Цикл
258-
Поз = Найти(Хвост, "\");
259-
Если Поз = 0 Тогда
260-
Прервать;
261-
КонецЕсли;
262-
КонецЦикла;
263-
264-
Возврат Результат + Хвост;
265-
266-
КонецФункции
267-
268254
Функция ПолучитьЖурналИзмененийГит()
269255

270256
Перем КодВозврата;
@@ -289,16 +275,27 @@
289275

290276
Функция ПолучитьВыводПроцесса(Знач КоманднаяСтрока, КодВозврата)
291277

292-
Процесс = СоздатьПроцесс(КоманднаяСтрока, , Истина);
293-
Процесс.Запустить();
294-
Вывод = "";
278+
// Это для dev версии 1.0.11
279+
//Процесс = СоздатьПроцесс(КоманднаяСтрока, , Истина,, КодировкаТекста.UTF8);
280+
// Процесс.Запустить();
281+
// Вывод = "";
282+
283+
// Процесс.ОжидатьЗавершения();
295284

296-
Процесс.ОжидатьЗавершения();
285+
// Вывод = Вывод + Процесс.ПотокВывода.Прочитать();
286+
// Вывод = Вывод + Процесс.ПотокОшибок.Прочитать();
297287

298-
Вывод = Вывод + Процесс.ПотокВывода.Прочитать();
299-
Вывод = Вывод + Процесс.ПотокОшибок.Прочитать();
288+
// КодВозврата = Процесс.КодВозврата;
300289

301-
КодВозврата = Процесс.КодВозврата;
290+
ЛогФайл = ВременныеФайлы.НовоеИмяФайла();
291+
СтрокаЗапуска = "cmd /C """ + КоманднаяСтрока + " > """ + ЛогФайл + """ 2>&1""";
292+
Лог.Отладка(СтрокаЗапуска);
293+
ЗапуститьПриложение(СтрокаЗапуска,, Истина, КодВозврата);
294+
Лог.Отладка("Код возврата: " + КодВозврата);
295+
ЧтениеТекста = Новый ЧтениеТекста(ЛогФайл, "utf-8");
296+
Вывод = ЧтениеТекста.Прочитать();
297+
ЧтениеТекста.Закрыть();
298+
ВременныеФайлы.УдалитьФайл(ЛогФайл);
302299

303300
Возврат Вывод;
304301

0 commit comments

Comments
 (0)