Cargo build fails for "dependencies" having git submodules

I have a repo repo_a which has a dependency on repo_b

//cargo.toml of repo_a
repo_b = { git = "http://gitlab/repo_b.git", branch = "my_branch" }

repo_b has git submodule where url of repo_c is a "relative path"

//.gitmodules in repo_b
[submodule "repo_c"]
        path = repo_patch
        url = ../../repo_c.git

When I tried building repo_a my build is getting failed with below error

error: failed to get `repo_b` as a dependency of package `repo_a`

Caused by:
  failed to update submodule `repo_c`

Caused by:
  failed to fetch submodule `repo_C` from ../../repo_c.git

I have tried by changing the url of repo_c in .gitmodules of repo_b as a https & http link. But that also fails with some authentication error. Here I have the access to repo_c and cargo build won't even ask username and password to fetch repo_c which won't be the case in git submodule update.

So How do I resolve this ?

../../repo_c.git relative to http://gitlab/repo_b.git would result in http://gitlab/../repo_c.git, right? That indeed doesn't exist.

Not really. Relative path of repo_c is correct. it indeed generates the correct path relative to repo_b Because I could build repo_b independently without any error. This error occurs only when I build repo_a. My issue is something similar to this but no solutions mentioned there.

I see.