|
412 | 412 | ФайлКомментария.Закрыть(); |
413 | 413 | Лог.Информация("Текст коммита: <"+Комментарий+">"); |
414 | 414 |
|
| 415 | + ИмяФайлаЛогаКоммита = ВременныеФайлы.СоздатьФайл("log"); |
| 416 | + |
415 | 417 | КомандныйФайл = Новый КомандныйФайл; |
416 | 418 | ПрефиксЭкспортаПеременной = ?(ЭтоWindows, "set", "export"); |
417 | 419 | Если ЭтоWindows Тогда |
|
421 | 423 | КонецЕсли; |
422 | 424 | КомандныйФайл.ДобавитьКоманду(ПрефиксЭкспортаПеременной + " GIT_AUTHOR_DATE="+ОбернутьВКавычки(ДатаPOSIX(Дата))); |
423 | 425 | КомандныйФайл.ДобавитьКоманду(ПрефиксЭкспортаПеременной + " GIT_COMMITTER_DATE="+ОбернутьВКавычки(ДатаPOSIX(Дата))); |
424 | | - КомандныйФайл.ДобавитьКоманду("git add -A ."); |
425 | | - |
426 | | - ИмяФайлаЛогаКоммита = ВременныеФайлы.СоздатьФайл("log"); |
| 426 | + КомандныйФайл.ДобавитьКоманду(СтрШаблон("git add -A . %1", КомандныйФайл.СуффиксПеренаправленияВывода(ИмяФайлаЛогаКоммита, Истина))); |
427 | 427 |
|
428 | 428 | авторДляГит = Автор; |
429 | 429 | Если Найти(Автор, "<") <= Найти(Автор, ">") Тогда |
430 | 430 | авторДляГит = Автор+" <"+Автор+"@localhost>"; // e-mail может быть удобен для поиска в связанных системах //авторДляГит = Автор+" <"+Автор+">"; |
431 | 431 | КонецЕсли; |
432 | 432 |
|
433 | | - // КомандаКоммита = "git commit -a --file="""+ИмяФайлаКомментария+""" --author="""+Автор+""" >"+ИмяФайлаЛогаКоммита; |
434 | | - КомандаКоммита = "git commit -a --file="""+ИмяФайлаКомментария+""" --author="""+Автор+""" "+КомандныйФайл.СуффиксПеренаправленияВывода(ИмяФайлаЛогаКоммита, Истина); |
| 433 | + СтрокаПеренаправленияВывода = КомандныйФайл.СуффиксПеренаправленияВывода(ИмяФайлаЛогаКоммита, Истина, Ложь); |
| 434 | + КомандаКоммита = СтрШаблон("git commit -a --file=""%1"" --author=""%2"" %3", ИмяФайлаКомментария, Автор, СтрокаПеренаправленияВывода); |
| 435 | + |
435 | 436 | КомандныйФайл.ДобавитьКоманду(КомандаКоммита); |
436 | 437 | КомандныйФайл.ДобавитьКоманду("exit " + ?(ЭтоWindows, "/b %ERRORLEVEL%", "$#")); |
437 | 438 |
|
|
450 | 451 |
|
451 | 452 | Лог.Информация("ВыполнитьКоммитГит: Вызов git commit вернул код <" + рез + "> "); |
452 | 453 |
|
| 454 | + текстФайла = ""; |
| 455 | + успешно = ПолучитьТекстФайла(ИмяФайлаЛогаКоммита, текстФайла); |
453 | 456 | Если рез <> 0 Тогда |
454 | | - текстФайла = ""; |
455 | | - успешно = ПолучитьТекстФайла(ИмяФайлаЛогаКоммита, текстФайла); |
456 | 457 | Если успешно Тогда |
457 | | - Лог.Ошибка("ВыполнитьКоммитГит: Лог команды git commit"+Символы.ПС+текстФайла); |
| 458 | + Лог.Ошибка("ВыполнитьКоммитГит: Лог команды git commit %1%2", Символы.ПС, текстФайла); |
458 | 459 | Иначе |
459 | 460 | Лог.Ошибка("ВыполнитьКоммитГит: Не удалось получить лог команды git commit"); |
460 | 461 | КонецЕсли; |
| 462 | + Иначе |
| 463 | + Лог.Отладка("ВыполнитьКоммитГит: Лог команды git commit %1%2", Символы.ПС, текстФайла); |
461 | 464 | КонецЕсли; |
462 | 465 |
|
463 | 466 | УдалитьВременныеФайлыПриНеобходимости(ИмяФайлаВыполнения); |
|
1097 | 1100 | Возврат Ложь; |
1098 | 1101 | КонецЕсли; |
1099 | 1102 |
|
1100 | | - ФайлОтчета = Новый ЧтениеТекста(ИмяФайла); |
| 1103 | + Кодировка = "utf-8"; |
| 1104 | + |
| 1105 | + ФайлОтчета = Новый ЧтениеТекста(ИмяФайла, Кодировка); |
1101 | 1106 | МассивСтрок = Новый Массив; |
1102 | 1107 |
|
1103 | 1108 | Попытка |
|
1108 | 1113 | КонецЦикла; |
1109 | 1114 | ФайлОтчета.Закрыть(); |
1110 | 1115 | Исключение |
1111 | | - Лог.Ошибка("При выводе файла возникла ошибка: "+ОписаниеОшибки()); |
| 1116 | + Лог.Ошибка("При выводе файла возникла ошибка: %1", ОписаниеОшибки()); |
1112 | 1117 | Возврат Ложь; |
1113 | 1118 | КонецПопытки; |
1114 | 1119 | Если МассивСтрок.Количество() = 0 Тогда |
|
0 commit comments