microsoft / microsoft/vscode-pull-request-github

Plugin does not work with SSH aliases for SSH remotes

未关闭
#6,228 2 条评论 5 个 reaction 已指派 1 人 在 GitHub 查看

@alexr00 已经在做这个了。

开始于 2024年9月26日。

feature-request
主要语言
TypeScript
星标
2.6k
派生
796
平均合并
1 天 4 小时
30 天内合并 PR
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. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。