| # Helper to verify if repo $1 contains a submodule named $2 with gitdir path $3 |
| |
| # This does not check filesystem existence. That is done in submodule.c via the |
| # submodule_name_to_gitdir() API which this helper ends up calling. The gitdirs |
| # might or might not exist (e.g. when adding a new submodule), so this only |
| # checks the expected configuration path, which might be overridden by the user. |
| |
| verify_submodule_gitdir_path () { |
| repo="$1" && |
| name="$2" && |
| path="$3" && |
| ( |
| cd "$repo" && |
| # Compute expected absolute path |
| expected="$(git rev-parse --git-common-dir)/$path" && |
| expected="$(test-tool path-utils real_path "$expected")" && |
| # Compute actual absolute path |
| actual="$(git submodule--helper gitdir "$name")" && |
| actual="$(test-tool path-utils real_path "$actual")" && |
| echo "$expected" >expect && |
| echo "$actual" >actual && |
| test_cmp expect actual |
| ) |
| } |