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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Mar 15, 2021 at 09:05:34PM -0400, Drew DeVault wrote:

> On Mon Mar 15, 2021 at 9:02 PM EDT, Jonathan Nieder wrote:
> > I'm not sure it's a disconnect; instead, it just looks like we
> > disagree. That said, with more details about the use case it might be
> > possible to sway me in another direction.
> >
> > To maintain the URI analogy: the URI does not tell me the content-type
> > of what I can access from there. Until I know that content-type, I
> > may not know what the best tool is to access it.
> 
> git isn't a content type, it's a protocol. git over HTTP or git over SSH
> is a protocol in its own right, distinct from these base protocols, in
> the same sense that SSH lives on top of TCP which lives on top of IP
> which is transmitted to your computer over ethernet or 802.11. It's
> turtles all the way down.

I think this is the key observation. A browser can access an HTTP URL,
and then based on the content type, decide what to do with the result.
But one cannot do so with a git-over-http URL. Git will not even
directly access the resource specified in the URL! It will construct a
related one (with appending "info/refs" and a "service" field) and
request that.

So you definitely need to "somehow" know that a URL is meant to be used
with Git. And that makes me somewhat sympathetic to your request.

The downsides I see are:

  - one of the advantages of straight http:// URLs is that they can
    accessed by multiple tools. Most "forge" tools let you use the same
    URL both for getting a human-readable page in a browser, as well as
    accessing the repository with the Git CLI. I'd hate to see https+git
    URLs become common, because they add friction there (though simply
    supporting them at all gives people the choice of whether to use
    them).

  - I'm also sympathetic to brian's point that there's a wider
    ecosystem. It's not just "git" that needs to learn them. It's jgit,
    and libgit2, and many tools that work with git remotes.

-Peff



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux