1

我正在编写一个将数据输入git fast-import函数的 Java 程序。目前,我知道我所有的格式都有效并且符合https://git-scm.com/docs/git-fast-import#_signals但是,我的问题是发送最终的“kill”命令:SIGUSR1

通过运行此命令,我现在可以开始工作了type fast-import.script | git fast-import。这个工作的事实告诉我我的格式,这是正确的。但是,我知道有一种方法可以连续运行git fast-import并将命令输入其标准输入,但最后一个命令必须是SIGUSR1

不发送SIGUSR1快速导入实用程序不知道结束。我尝试了几件事:

1- 使用常规 Java Process API 命令销毁进程,例如

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 中做到这一点。

4

0 回答 0