git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Regarding the depreciation of ssh+git/git+ssh protocols

From
MLMark Lodato <lodato@google.com>
Date
Apr 7, 2021, 13:46 UTC
Message-ID
<20210407134646.2866522-1-lodato@google.com>
In-Reply-To
<YFJ/g2N+s1V3/qMo@google.com>
Jonathan Nieder wrote:
> This is useful context.  What URL forms does this package manager
> support (e.g., do you have a link to its documentation)?  What would
> the effect be for the package manager and its users if Git started
> supporting a git+https:// synonym for https://?
Here are two more examples:
- pip: https://pip.pypa.io/en/latest/cli/pip_install/#git
- SPDX: https://spdx.github.io/spdx-spec/3-package-information/#37-package-download-location

The common thread is that systems need a way to uniquely identify a git repository or some object therein. I believe this means some combination of:

- VCS type (git)
- Transport location (e.g. https://github.com/git/git)
- Ref (e.g. master)
- Resolved commit ID (e.g. 48bf2fa8bad054d66bd79c6ba903c89c704201f7)
- Path (e.g. contrib/diff-highlight)
- (possibly) Clone depth

As Drew has said, the current state of affairs is that, lacking a standard, multiple systems are all inventing incompatible schemes using the `git+https` name. This is not a good situation because the "URI" is no longer "unique". Given such a URI in isolation, one cannot know how to parse it.

It's not clear to me that git itself needs to support this scheme. It would go a long way for git to simply recommend a particular scheme so that all these systems can use a common format. (We could register that with IANA.) The pip format seems to be the closest, but it doesn't support both ref AND resolved commit ID, and it is currently specific to pip (`egg=` could be replaced with `path=`).

Best, Mark

Previous: Eli SchwartzNext: Junio C Hamano
Message 24 of 27 in “Regarding the depreciation of ssh+git/git+ssh protocols”
  1. Drew DeVaultMar 15, 2021
  2. Jonathan NiederMar 15, 2021
  3. Drew DeVaultMar 15, 2021
  4. brian m. carlsonMar 15, 2021
  5. Drew DeVaultMar 16, 2021
  6. Jonathan NiederMar 16, 2021
  7. Drew DeVaultMar 16, 2021
  8. Jeff KingMar 16, 2021
  9. Drew DeVaultMar 17, 2021
  10. Junio C HamanoMar 18, 2021
  11. Drew DeVaultMar 18, 2021
  12. Eli SchwartzMar 16, 2021
  13. brian m. carlsonMar 16, 2021
  14. Drew DeVaultMar 16, 2021
  15. Jeff KingMar 16, 2021
  16. Drew DeVaultMar 17, 2021
  17. Jakub NarębskiMar 17, 2021
  18. Drew DeVaultMar 17, 2021
  19. brian m. carlsonMar 17, 2021
  20. Drew DeVaultMar 18, 2021
  21. Eli SchwartzMar 16, 2021
  22. Jonathan NiederMar 17, 2021
  23. Eli SchwartzMar 31, 2021
  24. Mark LodatoApr 7, 2021
  25. Junio C HamanoApr 7, 2021
  26. Kerry, RichardApr 13, 2021
  27. Drew DeVaultMar 16, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.