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

Re: [Improvement] Separate protocol and path in gitmodules

From
brian m. carlson <sandals@crustytoothpaste.net>
Date
Nov 8, 2019, 01:45 UTC
Message-ID
<20191108014518.GH32531@camp.crustytoothpaste.net>
In-Reply-To
<CAAMvNNQyzMwAhizT-vBpbwfzAAHS6Ycx2tCLZ_eND3SK8WdTGg@mail.gmail.com>
On 2019-11-07 at 13:52:28, Benedek Rácz wrote:
Show 10 quoted lines
> Hi All,
> 
> **The issue**
> My problem is based on this post: https://stackoverflow.com/q/40841882/2506522
> 
> **Use-case:**
> Git can be used with SSH or with HTTP. The usage of SSH is easier, due
> to automatic authentication (ssh-key). But I have to use git from a
> public PC, where I mustn't store my ssh-keys. On that PC I want to use
> https's user/password authentication.

You can use the url.<base>.insteadOf feature to rewrite URLs, which will do what you want in this case.

For example, I could set url.https://git.crustytoothpaste.net/git/.insteadOf to "ssh://bmc@git.crustytoothpaste.net/srv/scm/git/". That would rewrite the SSH URLs for my Git server to an appropriate HTTPS URL.

It's designed for situations like this, when you know the rewriting rules better than an external system.

Show 5 quoted lines
> **Suggestion**
> The root-cause of this issue is that the protocol (SSH or HTTP) and
> the path of the remote repository is stored together (in the
> .gitmodules file). If they were stored separately I would choose the
> protocol easily.

The problem is that we don't know that a repository is accessible by both of those methods, or even if it is, what the correspondence between them is.

For example, my personal repositories are under https://git.crustytoothpaste.net/git/bmc/ and ssh://bmc@git.crustytoothpaste.net/srv/scm/git/bmc/. Those paths are completely different. There's no way to intrinsically map from one to the other without external knowledge.

-- 
brian m. carlson: Houston, Texas, US
OpenPGP: https://keybase.io/bk2204
Previous: Benedek Rácz
Message 2 of 2 in “[Improvement] Separate protocol and path in gitmodules”
  1. Benedek RáczNov 7, 2019
  2. brian m. carlsonNov 8, 2019

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.