URL normalization
All URL-related operations normalize URLs by stripping the .git suffix before comparison or caching. This applies to cache update --from, query --from, find --from, and URL cache file name generation (source_<md5>.json). For example, https://github.com/org/repo.git and https://github.com/org/repo are treated as the same URL.