microsoft / microsoft/vscode-pull-request-github

Plugin does not work with SSH aliases for SSH remotes

Open
#6,228 2 comments 5 reactions 1 assignee View on GitHub

@alexr00 is already working on this.

Since Sep 26, 2024.

feature-request
Dominant language
TypeScript
Stars
2.6k
Forks
796
Avg merge
1d 4h
Merged PRs (30d)
46

Description

Type: Bug

Background

Our instance of Github Enterprise is setup to require access via SSH. We also use an alias in ~/.ssh/config to make the git clone command shorter, something like:

Host gitsrv gitsrv.full.domain.com
    HostName gitsrv.full.domain.com
...

(names revised)

Steps (not working)

  1. Clone the repo using git clone gitsrv:MyOrg/cool_repo
  2. Open the folder in VS code and go to the PR tile
  3. The plugin is stuck at the "You have not yet signed in with GitHub" screen.
  4. The plugin logs has these messages:
2024-09-15 19:45:10.790 [info] GitHubServer> Received fallback response from the server: dial tcp: lookup gitsrv on 10.10.10.10:53: no such host
2024-09-15 19:45:10.790 [warning] GitHubServer> No response from host https://gitsrv/MyOrg/cool_repo: Unexpected token 'd', "dial tcp: "... is not valid JSON
2024-09-15 19:45:10.790 [warning] No remotes found. The following remotes are missing: origin, upstream

The plugin however works fine if we use the full server name (git clone gitsrv.full.domain.com:MyOrg/cool_repo). BTW, also works with the git@ prepended to the hostname.

Hypothesis

The plugin attempts to convert the SSH hostname/alias directly into the HTTP URL to the server. Perhaps it could attempt to resolve it via the SSH config file first? For e.g., this (on Unix like systems at least) seems to get the right name:

ssh -G "$SERVER" | egrep "^hostname\s+"| awk '{print $2}'

Related

Issue #6095 is potentially related, but there aren't enough details there to tell.

Extension version: 0.96.0
VS Code version: Code 1.93.1 (38c31bc77e0dd6ae88a4e9cc93428cc27a56ba40, 2024-09-11T17:20:05.685Z)
OS version: Darwin arm64 23.6.0
Modes:

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.