> one other thing. Do I need to do another pull request for the updated change????

No, you can just push your changes to the source branch of your pull request (e.g. your submodule_add branch).

The way I would expect this to work (from reading the [libgit2 documentation](https://github.com/libgit2/libgit2/blob/development/include/git2/submodule.h#L179), I have not tried this myself), is that you would:

1. Call `git_submodule_add_setup`
2. Clone or (fetch + checkout) the submodule repository
3. Call `git_submodule_add_finalize`

I believe the `useGitLink` parameter controls whether the submodule workdir is contained in the `.git/submodules` directory, or directly in the main repository workdir. I am not sure which directory the fetch should be perfumed in if `useGitLink` is `true`.

Maybe @carlosmn has more specific guidance.