Skip to content

Commit 88ac7ce

Browse files
authored
Merge pull request #6 from oscript-library/develop
Develop
2 parents 48b0dbd + 2b3e2b2 commit 88ac7ce

File tree

3 files changed

+33
-22
lines changed

3 files changed

+33
-22
lines changed

packagedef

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,19 @@
1+
ПутьКСценариюПараметров = ОбъединитьПути(ОбъединитьПути(ТекущийСценарий().Каталог, "src", "core", "Модули"), "ПараметрыСистемы.os");
2+
ПараметрыСистемы_ЛокальнаяВерсия = ЗагрузитьСценарий(ПутьКСценариюПараметров);
13

24
Описание.Имя("gitsync")
3-
.Версия(ПараметрыСистемы.ВерсияПродукта())
5+
.Версия(ПараметрыСистемы_ЛокальнаяВерсия.ВерсияПродукта())
46
.ВерсияСреды("1.0.15")
57
.ЗависитОт("logos")
68
.ЗависитОт("cmdline")
79
.ЗависитОт("tempfiles")
8-
.ЗависитОт("tool1cd")
9-
.ЗависитОт("v8runner")
10+
.ЗависитОт("tool1cd", "0.3")
11+
.ЗависитОт("v8runner", "0.7.0")
1012
.ЗависитОт("strings")
11-
.ЗависитОт("1commands")
13+
.ЗависитОт("1commands", "1.1")
1214
.ВключитьФайл("src")
1315
.ВключитьФайл("tests")
16+
.ВключитьФайл("features")
1417
.ВключитьФайл("bin")
1518
.ВключитьФайл("config-example.xml")
1619
.ВключитьФайл("readme.md")

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

Lines changed: 25 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -413,6 +413,9 @@
413413
Лог.Информация("Текст коммита: <"+Комментарий+">");
414414

415415
КомандныйФайл = Новый КомандныйФайл;
416+
417+
КомандныйФайл.УстановитьКодировкуВывода(КодировкаТекста.UTF8);
418+
416419
ПрефиксЭкспортаПеременной = ?(ЭтоWindows, "set", "export");
417420
Если ЭтоWindows Тогда
418421
КомандныйФайл.ДобавитьКоманду("cd /d " + ОбернутьВКавычки(КаталогРабочейКопии));
@@ -421,19 +424,26 @@
421424
КонецЕсли;
422425
КомандныйФайл.ДобавитьКоманду(ПрефиксЭкспортаПеременной + " GIT_AUTHOR_DATE="+ОбернутьВКавычки(ДатаPOSIX(Дата)));
423426
КомандныйФайл.ДобавитьКоманду(ПрефиксЭкспортаПеременной + " GIT_COMMITTER_DATE="+ОбернутьВКавычки(ДатаPOSIX(Дата)));
424-
КомандныйФайл.ДобавитьКоманду("git add -A .");
425-
426-
ИмяФайлаЛогаКоммита = ВременныеФайлы.СоздатьФайл("log");
427+
КомандныйФайл.ДобавитьКоманду(СтрШаблон("git add -A ."));
427428

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

433-
// КомандаКоммита = "git commit -a --file="""+ИмяФайлаКомментария+""" --author="""+Автор+""" >"+ИмяФайлаЛогаКоммита;
434-
КомандаКоммита = "git commit -a --file="""+ИмяФайлаКомментария+""" --author="""+Автор+""" "+КомандныйФайл.СуффиксПеренаправленияВывода(ИмяФайлаЛогаКоммита, Истина);
434+
КомандаКоммита = СтрШаблон("git commit -a --file=""%1"" --author=""%2"" ", ИмяФайлаКомментария, Автор);
435+
435436
КомандныйФайл.ДобавитьКоманду(КомандаКоммита);
436-
КомандныйФайл.ДобавитьКоманду("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+
КонецЕсли;
437447

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

@@ -450,20 +460,16 @@
450460

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

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

463470
УдалитьВременныеФайлыПриНеобходимости(ИмяФайлаВыполнения);
464471
УдалитьВременныеФайлыПриНеобходимости(ИмяФайлаКомментария);
465-
УдалитьВременныеФайлыПриНеобходимости(ИмяФайлаЛогаКоммита);
466-
472+
467473
Если Рез <> 0 Тогда
468474
ВызватьИсключение "Коммит в git выполнить не удалось. См. лог";
469475
КонецЕсли;
@@ -1097,7 +1103,9 @@
10971103
Возврат Ложь;
10981104
КонецЕсли;
10991105

1100-
ФайлОтчета = Новый ЧтениеТекста(ИмяФайла);
1106+
Кодировка = "utf-8";
1107+
1108+
ФайлОтчета = Новый ЧтениеТекста(ИмяФайла, Кодировка);
11011109
МассивСтрок = Новый Массив;
11021110

11031111
Попытка
@@ -1108,7 +1116,7 @@
11081116
КонецЦикла;
11091117
ФайлОтчета.Закрыть();
11101118
Исключение
1111-
Лог.Ошибка("При выводе файла возникла ошибка: "+ОписаниеОшибки());
1119+
Лог.Ошибка("При выводе файла возникла ошибка: %1", ОписаниеОшибки());
11121120
Возврат Ложь;
11131121
КонецПопытки;
11141122
Если МассивСтрок.Количество() = 0 Тогда

src/core/Модули/ПараметрыСистемы.os

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
//
2828
Функция ВерсияПродукта() Экспорт
2929

30-
Возврат "1.2.2";
30+
Возврат "2.1";
3131

3232
КонецФункции // ВерсияПродукта()
3333

0 commit comments

Comments
 (0)