Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops mercurial预承诺无限循环_Loops_Gradle_Mercurial_Infinite - Fatal编程技术网

Loops mercurial预承诺无限循环

Loops mercurial预承诺无限循环,loops,gradle,mercurial,infinite,Loops,Gradle,Mercurial,Infinite,好的,问题是,我正在使用Gradle用Java开发一个应用程序。 我有一个Gradle任务,如果文件不存在,它会在每个文件的顶部添加一个许可证 我想添加一个预提交钩子,以便在提交文件时,Gradle任务运行,并在需要时更改文件顶部的许可证。请记住,Gradle licenseFormat可能不会同时更改任何文件或超过10个文件,因此我无法知道哪些文件会被更改以添加到手动提交中 我试过这个钩子: [hooks] pre-commit.licenseFormat=C:/Users/pc/Dropbo

好的,问题是,我正在使用Gradle用Java开发一个应用程序。 我有一个Gradle任务,如果文件不存在,它会在每个文件的顶部添加一个许可证

我想添加一个预提交钩子,以便在提交文件时,Gradle任务运行,并在需要时更改文件顶部的许可证。请记住,Gradle licenseFormat可能不会同时更改任何文件或超过10个文件,因此我无法知道哪些文件会被更改以添加到手动提交中

我试过这个钩子:

[hooks]
pre-commit.licenseFormat=C:/Users/pc/Dropbox/{REPOSITORIES}/{PETULANT}/format.bat
它只是调用一个运行Gradle命令的批处理文件,但正如我所怀疑的那样,由于某些文件发生了更改,而这些文件不在当前提交中,因此提交被卡住,它似乎陷入了一个无限循环,一次又一次地调用批处理文件,每次它都会触发该命令。 在命令的下一次运行中,不应更改任何内容,但当第一次运行更改的文件超过几个时,我认为commit会触发批处理文件两次以上

所以问题是,如何在批处理文件第一次运行之后停止提交钩子,并将更改后的文件添加到当前或新提交中


谢谢。

批处理文件只是命令:


gradlew LicenseFormat将批处理文件的内容包含在此处会很有帮助。