repository: index submodules by path
What does this MR do?
Submodules have a name in the configuration, but this name is simply the path at which the submodule was initially checked in (by default -- the name is totally arbitrary). If a submodule is moved, it retains its original name, but its path changes. Since we discover submodules inside trees, we have their path but not necessarily their name.
Make the submodules() function return the submodule hash indexed by path rather than name, so that renamed submodules can be looked up.
Are there points in the code the reviewer needs to double check?
This (and the two other MRs I'm submitting today) are my first time writing Ruby in like five years.
Why was this MR needed?
To handle moved submodules.
Screenshots (if relevant)
Does this MR meet the acceptance criteria?
-
Changelog entry added, if necessary -
Documentation created/updated -
API support added - Tests
-
Added for this feature/bug -
All builds are passing
-
-
Conform by the merge request performance guides -
Conform by the style guides -
Branch has no merge conflicts with master
(if it does - rebase it please) -
Squashed related commits together