Казалось бы, это результат того, как "расширение" git обрабатывается в инструменте по сравнению с другими "расширениями", такими как maven. Весь соответствующий код для этого можно найти здесь . Я также поясню, что я не читал этот код подробно, и поэтому мои знания этого кода не глубокие.
Если вы посмотрите, например, как обрабатывается lib
в расширении maven, кажется, что он на самом деле проверяет maven, чтобы увидеть, что артефакт существует по указанному имени, которое вы можете увидеть в нескольких местах. , но также включая в мультиметодное определение ext/canonicalize :mvn
В коде расширения git для lib
задана другая обработка, которую вы можете увидеть в определении мультиметода ext/canonicalize :git
Я не хочу вдаваться в суть гипотезы, но я предполагаю, что если бы это было намеренное дизайнерское решение, это, вероятно, связано с тем, что адрес git-репо является SoT для такого рода зависимостей (даже если адрес / имя репо могут измениться… опасность!), Тогда как в Maven имена регистрируются первоклассными гражданами.
И чтобы попытаться более прямо ответить на два ваших вопроса ... Что означают клавиши :deps
? Ответ прост: это зависит от того, что это за депо! При использовании git это может быть что угодно, а при использовании Maven, например, он должен ссылаться на известный пакет. Как мне выбрать ключи депо? Это может быть субъективным, однако я бы порекомендовал использовать любое хранилище с надежным неизменяемым хранилищем пакетов за ним, и только при необходимости использовать такое хранилище, как github. Это связано с тем, что зависимости github могут изменить свой адрес / имя или просто исчезнуть (удаленный репозиторий).