code: func (h *stiGit) SubmoduleUpdate(repo string, init, recursive bool) error {
  	updateArgs := []string{"submodule", "update"}
  	if init {
  		updateArgs = append(updateArgs, "--init")
  	}
  	if recursive {
  		updateArgs = append(updateArgs, "--recursive")
  	}
  
  	opts := cmd.CommandOpts{
  		Stdout: os.Stdout,
  		Stderr: os.Stderr,
  		Dir:    repo,
  	}
  	return h.RunWithOptions(opts, "git", updateArgs...)
  }
docs: // SubmoduleUpdate checks out submodules to their correct version.
  // Optionally also inits submodules, optionally operates recursively.