Skip to content

Commit

Permalink
Исправление ошибки зависания при коммите git #41
Browse files Browse the repository at this point in the history
Исправлено зависание при коммите git #41
Исправлен показ кодировки при выводе от git
  • Loading branch information
artbear committed Feb 19, 2017
1 parent 06bbcb1 commit 780a190
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 15 deletions.
2 changes: 1 addition & 1 deletion packagedef
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
.ЗависитОт("tool1cd", "0.3")
.ЗависитОт("v8runner", "0.7.0")
.ЗависитОт("strings")
.ЗависитОт("1commands", "1.0")
.ЗависитОт("1commands", "1.1")
.ВключитьФайл("src")
.ВключитьФайл("tests")
.ВключитьФайл("features")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -412,9 +412,10 @@
ФайлКомментария.Закрыть();
Лог.Информация("Текст коммита: <"+Комментарий+">");

ИмяФайлаЛогаКоммита = ВременныеФайлы.СоздатьФайл("log");

КомандныйФайл = Новый КомандныйФайл;

КомандныйФайл.УстановитьКодировкуВывода(КодировкаТекста.UTF8);

ПрефиксЭкспортаПеременной = ?(ЭтоWindows, "set", "export");
Если ЭтоWindows Тогда
КомандныйФайл.ДобавитьКоманду("cd /d " + ОбернутьВКавычки(КаталогРабочейКопии));
Expand All @@ -423,15 +424,14 @@
КонецЕсли;
КомандныйФайл.ДобавитьКоманду(ПрефиксЭкспортаПеременной + " GIT_AUTHOR_DATE="+ОбернутьВКавычки(ДатаPOSIX(Дата)));
КомандныйФайл.ДобавитьКоманду(ПрефиксЭкспортаПеременной + " GIT_COMMITTER_DATE="+ОбернутьВКавычки(ДатаPOSIX(Дата)));
КомандныйФайл.ДобавитьКоманду(СтрШаблон("git add -A . %1", КомандныйФайл.СуффиксПеренаправленияВывода(ИмяФайлаЛогаКоммита, Истина)));
КомандныйФайл.ДобавитьКоманду(СтрШаблон("git add -A ."));

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

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

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

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

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

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


Если Рез <> 0 Тогда
ВызватьИсключение "Коммит в git выполнить не удалось. См. лог";
КонецЕсли;
Expand Down

0 comments on commit 780a190

Please sign in to comment.