SubmoduleUpdateCommand getConfigUpdate() returns 空
SubmoduleUpdateCommand getConfigUpdate() returns null
我有一个 git 存储库,其中包含一个子模块,它指向一个较旧的提交。我想使用 JGit API
将子模块更新到其最新提交
parentGit.getRepository().submoduleUpdate().call();
虽然代码执行没有任何错误,但我看不到我的子模块指向最新的远程提交
SubmoduleWalk::getConfigUpdate
总是 returns null
.
Please refer to org.eclipse.jgit.api -> SubmoduleUpdateCommand#call().
SubmoduleWalk walk = SubmoduleWalk.forIndex(parentGit.getRepository());
while(walk.next) {
walk.getConfigUpdate(); // returns null;
...
}
parentGit.getRepository().submoduleUpdate().call(); // does nothing
walk.getConfigUpdate()
应该 return 的值为 ConfigConstants.CONFIG_KEY_MERGE
或 ConfigConstants.CONFIG_KEY_REBASE
,以便在执行 parentGit.submoduleUpdateCommand().call()
时,子模块将指向其最新的远程头。
我是否缺少任何存储库配置?
SubmoduleWalk::getConfigUpdate
returns 正是在存储库的配置键 submodule.<name of module>.update
.
中设置的内容
如果未设置任何内容,方法 returns null
和 SubmoduleUpdateCommand
会检查父存储库索引中引用的提交作为分离的 HEAD。
确保父存储库的索引指向所需的子模块提交 ID。要选择不同的更新策略,您可以这样更改配置:
StoredConfig config = repository.getConfig();
config.setString(CONFIG_SUBMODULE_SECTION, "my-module", CONFIG_KEY_UPDATE, CONFIG_KEY_REBASE);
config.save();
常量都在ConfigConstants
中声明。
我有一个 git 存储库,其中包含一个子模块,它指向一个较旧的提交。我想使用 JGit API
将子模块更新到其最新提交parentGit.getRepository().submoduleUpdate().call();
虽然代码执行没有任何错误,但我看不到我的子模块指向最新的远程提交
SubmoduleWalk::getConfigUpdate
总是 returns null
.
Please refer to org.eclipse.jgit.api -> SubmoduleUpdateCommand#call().
SubmoduleWalk walk = SubmoduleWalk.forIndex(parentGit.getRepository());
while(walk.next) {
walk.getConfigUpdate(); // returns null;
...
}
parentGit.getRepository().submoduleUpdate().call(); // does nothing
walk.getConfigUpdate()
应该 return 的值为 ConfigConstants.CONFIG_KEY_MERGE
或 ConfigConstants.CONFIG_KEY_REBASE
,以便在执行 parentGit.submoduleUpdateCommand().call()
时,子模块将指向其最新的远程头。
我是否缺少任何存储库配置?
SubmoduleWalk::getConfigUpdate
returns 正是在存储库的配置键 submodule.<name of module>.update
.
如果未设置任何内容,方法 returns null
和 SubmoduleUpdateCommand
会检查父存储库索引中引用的提交作为分离的 HEAD。
确保父存储库的索引指向所需的子模块提交 ID。要选择不同的更新策略,您可以这样更改配置:
StoredConfig config = repository.getConfig();
config.setString(CONFIG_SUBMODULE_SECTION, "my-module", CONFIG_KEY_UPDATE, CONFIG_KEY_REBASE);
config.save();
常量都在ConfigConstants
中声明。