microsoft / microsoft/vscode-pull-request-github

Plugin does not work with SSH aliases for SSH remotes

オープン
#6,228 コメント 2 件 リアクション 5 件 担当者 1 名 GitHub で見る

@alexr00 がすでに取り組んでいます。

2024年9月26日 から。

feature-request
主要言語
TypeScript
スター
2.6k
フォーク
796
平均マージ
1日 4時間
マージ済み PR(30日)
46

説明

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:

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。