Запуск выполнение команды для git


#1

Подскажите пожалуйста, с чем может быть связана следующая проблема. Есть команда для git, которая выполняется из обычного cmd корректно и я получаю желаемый результат. Смысл ее в том, что я выгружаю описания комитов в файл. Если эту команду я формирую в 1script, то никаких ошибок нет, но и желаемого результата нет. При выполнении скрипта я вывел текст выполняемой команды в консоль и выполнив сформированную команду отдельно в cmd, желаемый результат снова был получен. То есть команда не работает именно через функцию ЗапуститьПриложение, вторым параметром устанавливаю каталог репозитория и параметр ожидания тоже в истину. После выполнения команды ставил паузу, но команда не работает.
Попробовал в скрипте сформировать команду с ошибками, ошибок консоль при запуске скрипта не выдает.


#2

Попробуйте через СоздатьПроцесс или библиотеку 1commands получить вывод команды.


#3

Пустую строку текста выдает при работе через СоздатьПроцесс.


#4

покажите ваш код


#5

Вот этот кусок не работает:

ПутьКФайлуОписания = “***/Public/dev.txt”;
ПутьКФайлуОбновления = “***/Public/UpdateInfo.txt”;
ДатаНачалаВыгрузкиОписания = ДатаПоследнегоФормированияОписания(ПутьКФайлуОбновления);
ПутьКРепозиторию = “***/eclipse-workspace/MyProject/”;
КомандаВыгрузкиОписания = “git log --after=”"" + ДатаНачалаВыгрузкиОписания + “”" --pretty="“short”" > “”" + ПутьКФайлуОписания + “”"";
Сообщить(КомандаВыгрузкиОписания);

ЗаписьXML = Новый ЗаписьXML();
ЗаписьXML.УстановитьСтроку();

Процесс = СоздатьПроцесс(КомандаВыгрузкиОписания, ПутьКРепозиторию, Истина, Истина);
Процесс.Запустить();
Процесс.ОжидатьЗавершения();

ЗаписьXML.ЗаписатьБезОбработки(Процесс.ПотокВывода.Прочитать());
РезультатРаботыПроцесса = ЗаписьXML.Закрыть();
Сообщить(РезультатРаботыПроцесса);

Приостановить(5000);

#6

а в потоке ошибок есть что-нибудь?


#7

А как это узнать? Я только такой пример нашел для команды СоздатьПроцесс


#8

точно так же. только ПотокОшибок, вместо ПотокВывода


#9

Да, стало интересней, вот что выводи в ошибку:

fatal: ambiguous argument ‘>’: unknown revision or path not in the working tree.
Use ‘–’ to separate paths from revisions, like this:
‘git […] – […]’

Не сталкивались, что он от меня хочет?


#10

приведи строку из КомандаВыгрузкиОписания


#11

Вот такая строка формируется и выводится мне в консоль в результате работы скрипта:
git log --after=“2019-02-05” --pretty=“short” – “***/Desktop/Public/dev.txt”


#12

Я разобрался с проблемой. Смысл команды в выгрузке данных по коммитам в файл. Почему-то выгружать не хотела команда. Вместо этого я воспользовался советами использовать “Создать процесс”. И стал получать данные по коммитам не в файл, а из потока вывода. По факту файл-то мне и не нужен, мне нужны были данные из гита.

Всем спасибо за помощь.