git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [Improvement] Separate protocol and path in gitmodules
@ 2019-11-07 13:52 Benedek Rácz
  2019-11-08  1:45 ` brian m. carlson
  0 siblings, 1 reply; 2+ messages in thread
From: Benedek Rácz @ 2019-11-07 13:52 UTC (permalink / raw)
  To: git

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.

**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.

Benedek

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [Improvement] Separate protocol and path in gitmodules
  2019-11-07 13:52 [Improvement] Separate protocol and path in gitmodules Benedek Rácz
@ 2019-11-08  1:45 ` brian m. carlson
  0 siblings, 0 replies; 2+ messages in thread
From: brian m. carlson @ 2019-11-08  1:45 UTC (permalink / raw)
  To: Benedek Rácz; +Cc: git

[-- Attachment #1: Type: text/plain, Size: 1641 bytes --]

On 2019-11-07 at 13:52:28, Benedek Rácz wrote:
> 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.

> **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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 868 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-11-08  1:45 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-07 13:52 [Improvement] Separate protocol and path in gitmodules Benedek Rácz
2019-11-08  1:45 ` brian m. carlson

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).