Skip to content

Commit 49dad3f

Browse files
committed
Merged feature/bug-41 into develop
2 parents 06bbcb1 + 58705d1 commit 49dad3f

File tree

2 files changed

+20
-17
lines changed

2 files changed

+20
-17
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: 19 additions & 16 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,18 +424,26 @@
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
КомандныйФайл.ДобавитьКоманду(КомандаКоммита);
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,22 +460,16 @@
451460

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

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

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

0 commit comments

Comments
 (0)