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.