updateSubmodules method

Future<void> updateSubmodules(
  1. String gitDir, {
  2. bool init = true,
  3. bool recursive = false,
  4. Map<String, String>? environment,
  5. bool includeParentEnvironment = true,
})

Implementation

Future<void> updateSubmodules(
  String gitDir, {
  bool init = true,
  bool recursive = false,
  Map<String, String>? environment,
  bool includeParentEnvironment = true,
}) async {
  final dir = checkDirectoryExists(gitDir, "gitDir");

  final res = await runAsync(
    [
      "submodule",
      "update",
      if (init) "--init",
      if (recursive) "--recursive",
    ],
    workingDirectory: dir.path,
    environment: environment,
    includeParentEnvironment: includeParentEnvironment,
  );

  if (0 != res.exitCode) {
    throw CliResultException(
      exitCode: res.exitCode,
      stderr: res.stderr,
      message: "Failed to update the submodules in the git "
          "directory at '$gitDir'",
    );
  }
}