Git Fast Import - отправка команды SIGUSR1

Я пишу программу на Java, которая подает данные в git fast-import функция. В настоящее время я знаю все свои операции форматирования и соответствует https://git-scm.com/docs/git-fast-import. Однако моя проблема заключается в отправке последней команды kill: SIGUSR1,

Я заставляю вещи работать прямо сейчас, запустив эту команду type fast-import.script | git fast-import, Тот факт, что это работает, говорит мне о моем форматировании, и это правильно. Но я знаю, что есть способ постоянно бежать git fast-import и вводить команды в свой стандартный ввод, но самая последняя команда должна быть SIGUSR1

Без отправки SIGUSR1 Утилита быстрого импорта не знает конца. Я попробовал несколько вещей:

1- Уничтожение процесса с помощью обычных команд API-процессов Java, таких как

fastImportProcess.destroyForcibly();

2. Используйте библиотеку Java WinProcess ( Maven), чтобы найти pid и убить его.

WinProcess wp = new WinProcess(fastImportProcess);
wp.killRecursively();

Это тоже не сработало. И я попробовал сочетания вещей, связанных с Java Process API, WinProcess API и т. Д. Хотя я могу заставить WinProcess принудительно завершить работу утилиты быстрого импорта, она фактически не создает мои коммиты.

3- Наконец, бесконечно исследуйте, что SIGUSR1 и все, что я могу придумать, это SIGUSR это какой-то определенный пользователем сигнал. C- что такое SIGUSR1 синтаксически Не слишком полезно.

Я не думаю, что эта проблема сама по себе связана с Java, она действительно о том, как использовать git fast-import, Я замечаю, когда я запускаю быстрый импорт в CLI, когда я нажимаю ctrl-c коммиты исполняются. Но я не знаю точно, как это сделать на Java.

0 ответов

Другие вопросы по тегам