Skip to content

Commit 780a190

Browse files
committed
Исправление ошибки зависания при коммите git #41
Исправлено зависание при коммите git #41 Исправлен показ кодировки при выводе от git
1 parent 06bbcb1 commit 780a190

File tree

2 files changed

+9
-15
lines changed

2 files changed

+9
-15
lines changed

packagedef

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
.ЗависитОт("tool1cd", "0.3")
1111
.ЗависитОт("v8runner", "0.7.0")
1212
.ЗависитОт("strings")
13-
.ЗависитОт("1commands", "1.0")
13+
.ЗависитОт("1commands", "1.1")
1414
.ВключитьФайл("src")
1515
.ВключитьФайл("tests")
1616
.ВключитьФайл("features")

src/core/Классы/МенеджерСинхронизации.os

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -412,9 +412,10 @@
412412
ФайлКомментария.Закрыть();
413413
Лог.Информация("Текст коммита: <"+Комментарий+">");
414414

415-
ИмяФайлаЛогаКоммита = ВременныеФайлы.СоздатьФайл("log");
416-
417415
КомандныйФайл = Новый КомандныйФайл;
416+
417+
КомандныйФайл.УстановитьКодировкуВывода(КодировкаТекста.UTF8);
418+
418419
ПрефиксЭкспортаПеременной = ?(ЭтоWindows, "set", "export");
419420
Если ЭтоWindows Тогда
420421
КомандныйФайл.ДобавитьКоманду("cd /d " + ОбернутьВКавычки(КаталогРабочейКопии));
@@ -423,15 +424,14 @@
423424
КонецЕсли;
424425
КомандныйФайл.ДобавитьКоманду(ПрефиксЭкспортаПеременной + " GIT_AUTHOR_DATE="+ОбернутьВКавычки(ДатаPOSIX(Дата)));
425426
КомандныйФайл.ДобавитьКоманду(ПрефиксЭкспортаПеременной + " GIT_COMMITTER_DATE="+ОбернутьВКавычки(ДатаPOSIX(Дата)));
426-
КомандныйФайл.ДобавитьКоманду(СтрШаблон("git add -A . %1", КомандныйФайл.СуффиксПеренаправленияВывода(ИмяФайлаЛогаКоммита, Истина)));
427+
КомандныйФайл.ДобавитьКоманду(СтрШаблон("git add -A ."));
427428

428429
авторДляГит = Автор;
429430
Если Найти(Автор, "<") <= Найти(Автор, ">") Тогда
430431
авторДляГит = Автор+" <"+Автор+"@localhost>"; // e-mail может быть удобен для поиска в связанных системах //авторДляГит = Автор+" <"+Автор+">";
431432
КонецЕсли;
432433

433-
СтрокаПеренаправленияВывода = КомандныйФайл.СуффиксПеренаправленияВывода(ИмяФайлаЛогаКоммита, Истина, Ложь);
434-
КомандаКоммита = СтрШаблон("git commit -a --file=""%1"" --author=""%2"" %3", ИмяФайлаКомментария, Автор, СтрокаПеренаправленияВывода);
434+
КомандаКоммита = СтрШаблон("git commit -a --file=""%1"" --author=""%2"" ", ИмяФайлаКомментария, Автор);
435435

436436
КомандныйФайл.ДобавитьКоманду(КомандаКоммита);
437437
КомандныйФайл.ДобавитьКоманду("exit " + ?(ЭтоWindows, "/b %ERRORLEVEL%", "$#"));
@@ -451,22 +451,16 @@
451451

452452
Лог.Информация("ВыполнитьКоммитГит: Вызов git commit вернул код <" + рез + "> ");
453453

454-
текстФайла = "";
455-
успешно = ПолучитьТекстФайла(ИмяФайлаЛогаКоммита, текстФайла);
454+
текстФайла = КомандныйФайл.ПолучитьВывод();
456455
Если рез <> 0 Тогда
457-
Если успешно Тогда
458-
Лог.Ошибка("ВыполнитьКоммитГит: Лог команды git commit %1%2", Символы.ПС, текстФайла);
459-
Иначе
460-
Лог.Ошибка("ВыполнитьКоммитГит: Не удалось получить лог команды git commit");
461-
КонецЕсли;
456+
Лог.Ошибка("ВыполнитьКоммитГит: Не удалось получить лог команды git commit");
462457
Иначе
463458
Лог.Отладка("ВыполнитьКоммитГит: Лог команды git commit %1%2", Символы.ПС, текстФайла);
464459
КонецЕсли;
465460

466461
УдалитьВременныеФайлыПриНеобходимости(ИмяФайлаВыполнения);
467462
УдалитьВременныеФайлыПриНеобходимости(ИмяФайлаКомментария);
468-
УдалитьВременныеФайлыПриНеобходимости(ИмяФайлаЛогаКоммита);
469-
463+
470464
Если Рез <> 0 Тогда
471465
ВызватьИсключение "Коммит в git выполнить не удалось. См. лог";
472466
КонецЕсли;

0 commit comments

Comments
 (0)