@Override public void execute() throws GitException, InterruptedException { if (remoteTracking) { listener.getLogger().println("[ERROR] JGit doesn't support remoteTracking submodules yet."); throw new UnsupportedOperationException("not implemented yet"); } if ((ref != null) && !ref.isEmpty()) { listener.getLogger().println("[ERROR] JGit doesn't support submodule update --reference yet."); throw new UnsupportedOperationException("not implemented yet"); } try (Repository repo = getRepository()) { SubmoduleUpdateCommand update = git(repo).submoduleUpdate(); update.setCredentialsProvider(getProvider()); update.call(); if (recursive) { for (JGitAPIImpl sub : submodules()) { sub.submoduleUpdate(recursive); } } } catch (IOException | GitAPIException e) { throw new GitException(e); } } };
try (Git git = new Git(repository)) { git.submoduleInit().call(); git.submoduleUpdate().call(); try (Git git = new Git(repository)) { git.submoduleInit().call(); git.submoduleUpdate().call();