Skip to content

Commit 58705d1

Browse files
committed
Добавлена магия для исправления кодировки всех последующих команд #41
1 parent 780a190 commit 58705d1

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

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

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -434,7 +434,16 @@
434434
КомандаКоммита = СтрШаблон("git commit -a --file=""%1"" --author=""%2"" ", ИмяФайлаКомментария, Автор);
435435

436436
КомандныйФайл.ДобавитьКоманду(КомандаКоммита);
437-
КомандныйФайл.ДобавитьКоманду("exit " + ?(ЭтоWindows, "/b %ERRORLEVEL%", "$#"));
437+
438+
Если Не ЭтоWindows Тогда
439+
КомандныйФайл.ДобавитьКоманду("exit $#");
440+
Иначе
441+
// сейчас аккуратно верну кодировку,
442+
// иначе после выполнения коммита все последующие команды скриптов будут неверно отображаться в консоли!
443+
КомандныйФайл.ДобавитьКоманду("set gitsync_exit=%ERRORLEVEL%");
444+
КомандныйФайл.ДобавитьКоманду("chcp 866 >nul");// >nul важен для исключения ненужной надписи с иероглифами
445+
КомандныйФайл.ДобавитьКоманду("exit /b %gitsync_exit%");
446+
КонецЕсли;
438447

439448
ИмяФайлаВыполнения = КомандныйФайл.Закрыть();
440449

@@ -451,11 +460,11 @@
451460

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

454-
текстФайла = КомандныйФайл.ПолучитьВывод();
463+
ВыводКоманды = КомандныйФайл.ПолучитьВывод();
455464
Если рез <> 0 Тогда
456-
Лог.Ошибка("ВыполнитьКоммитГит: Не удалось получить лог команды git commit");
465+
Лог.Ошибка("ВыполнитьКоммитГит: Лог неудачной команды git commit %1%2", Символы.ПС, ВыводКоманды);
457466
Иначе
458-
Лог.Отладка("ВыполнитьКоммитГит: Лог команды git commit %1%2", Символы.ПС, текстФайла);
467+
Лог.Отладка("ВыполнитьКоммитГит: Лог команды git commit %1%2", Символы.ПС, ВыводКоманды);
459468
КонецЕсли;
460469

461470
УдалитьВременныеФайлыПриНеобходимости(ИмяФайлаВыполнения);

0 commit comments

Comments
 (0)