gitui-org / gitui-org/gitui

Fetch Failed: Repository Not Found

Đang mở
#2,193 0 bình luận 2 reaction 0 người được giao Xem trên GitHub
bug
Ngôn ngữ chính
Rust
Star
22.5k
Fork
774
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

**Describe the bug**
I have a feeling that this might have something to do with #2096 , but i still wanted to report it anyways in case someone knows a solution. I am able to successfully "fetch", but unable to "pull/push" to ONLY a particular organization's repo. I have 2 GH accounts, one personal and one business. The personal one uses my default `~/.ssh/config` file. However, since the addition of my business account, I had to create an additional config `~/.ssh/business_config` (due to the business having an enterprise account still using github.com). Using terminal hooks, I am able to switch which config file to use based on the directory that I am in. For example, If I am in a directory that has the name of the business as a parent directory, then the `~/.ssh/business_config` file becomes `~/.ssh/config`, while the default/original config gets named something else, and then switches back if the previous condition is not met.

The above bug, is NOT an issue for all other repos, i.e when I am NOT in a business related directory/repo everything works.

**To Reproduce**
Steps to reproduce the behavior:
1. gitui (when in a directory that makes a different config file the `~/.ssh/config`)
2. Pull or Push
3. See error

**Expected behavior**
Ability to pull and push just like I can when not inside the business directory.

**Screenshots**
image

**Context (please complete the following information):**
- macOS Sonoma 14.4.1
- gitui nightly 2024-04-17 ()
- rustc 1.77.0 (aedd173a2 2024-03-17)

**Additional context**
Log output of the steps above:

```
09:47:53 [TRACE] (1) gitui::app: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gitui-0.26.1/src/app.rs:154] open repo at: RefCell { value: Path(".") }
09:47:53 [TRACE] (6) mio::poll: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/mio-0.8.11/src/poll.rs:551] registering event source with poller: token=Token(0), interests=READABLE
09:47:53 [TRACE] (6) mio::poll: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/mio-0.8.11/src/poll.rs:551] registering event source with poller: token=Token(1), interests=READABLE
09:47:53 [TRACE] (1) asyncgit::status: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/asyncgit-0.26.0/src/status.rs:102] request: [hash: 5495339667515457528] (type: WorkingDir)
09:47:53 [TRACE] (1) asyncgit::status: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/asyncgit-0.26.0/src/status.rs:102] request: [hash: 7187341517787738567] (type: Stage)
09:47:53 [TRACE] (1) gitui: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gitui-0.26.1/src/main.rs:214] app start: 16 ms
09:47:53 [TRACE] (1) gitui::app: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gitui-0.26.1/src/app.rs:375] update
09:47:53 [TRACE] (1) asyncgit::status: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/asyncgit-0.26.0/src/status.rs:96] request blocked, still pending
09:47:53 [TRACE] (1) asyncgit::status: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/asyncgit-0.26.0/src/status.rs:96] request blocked, still pending
09:47:53 [TRACE] (3) asyncgit::status: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/asyncgit-0.26.0/src/status.rs:160] status fetched: 7187341517787738567 (type: Stage)
09:47:53 [TRACE] (1) gitui::app: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gitui-0.26.1/src/app.rs:395] update_async: Git(Status)
09:47:53 [TRACE] (2) asyncgit::status: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/asyncgit-0.26.0/src/status.rs:160] status fetched: 5495339667515457528 (type: WorkingDir)
09:47:53 [TRACE] (1) gitui::app: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gitui-0.26.1/src/app.rs:395] update_async: Git(Status)
09:47:53 [TRACE] (1) asyncgit::diff: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/asyncgit-0.26.0/src/diff.rs:101] request DiffParams { path: ".gitignore", diff_type: WorkDir, options: DiffOptions { ignore_whitespace: false, context: 3, interhunk_lines: 0 } }
09:47:53 [TRACE] (1) gitui::app: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gitui-0.26.1/src/app.rs:395] update_async: Git(Diff)
09:47:53 [TRACE] (1) asyncgit::diff: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/asyncgit-0.26.0/src/diff.rs:101] request DiffParams { path: ".gitignore", diff_type: WorkDir, options: DiffOptions { ignore_whitespace: false, context: 3, interhunk_lines: 0 } }
09:47:55 [TRACE] (1) gitui::app: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gitui-0.26.1/src/app.rs:278] event: Input(Key(KeyEvent { code: Char('f'), modifiers: KeyModifiers(0x0), kind: Press, state: KeyEventState(0x0) }))
09:47:55 [TRACE] (1) asyncgit::pull: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/asyncgit-0.26.0/src/pull.rs:75] request
09:47:55 [TRACE] (1) gitui::app: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gitui-0.26.1/src/app.rs:375] update
09:47:55 [TRACE] (1) asyncgit::diff: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/asyncgit-0.26.0/src/diff.rs:101] request DiffParams { path: ".gitignore", diff_type: WorkDir, options: DiffOptions { ignore_whitespace: false, context: 3, interhunk_lines: 0 } }
09:47:55 [TRACE] (1) asyncgit::status: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/asyncgit-0.26.0/src/status.rs:102] request: [hash: 1599612743743222641] (type: WorkingDir)
09:47:55 [TRACE] (1) asyncgit::status: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/asyncgit-0.26.0/src/status.rs:102] request: [hash: 12243454712170726963] (type: Stage)
09:47:55 [TRACE] (1) gitui::app: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gitui-0.26.1/src/app.rs:395] update_async: Git(Diff)
09:47:55 [TRACE] (4) asyncgit::status: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/asyncgit-0.26.0/src/status.rs:160] status fetched: 12243454712170726963 (type: Stage)
09:47:55 [TRACE] (1) gitui::app: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gitui-0.26.1/src/app.rs:395] update_async: Git(Status)
09:47:55 [TRACE] (3) asyncgit::status: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/asyncgit-0.26.0/src/status.rs:160] status fetched: 1599612743743222641 (type: WorkingDir)
09:47:55 [TRACE] (1) gitui::app: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gitui-0.26.1/src/app.rs:395] update_async: Git(Status)
09:47:55 [DEBUG] (7) asyncgit::sync::remotes::callbacks: creds: 'git@github.com:Business/some-repo-in-business.git' Some("git") (CredentialType(SSH_KEY | SSH_MEMORY | SSH_CUSTOM))
09:47:56 [TRACE] (1) gitui::app: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gitui-0.26.1/src/app.rs:395] update_async: Git(Pull)
09:47:56 [ERROR] fetch error: git error:ERROR: Repository not found.
; class=Ssh (23); code=Eof (-20)
09:47:56 [TRACE] (1) gitui::app: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gitui-0.26.1/src/app.rs:395] update_async: Git(Pull)
09:47:56 [TRACE] (1) gitui::app: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gitui-0.26.1/src/app.rs:375] update
09:47:56 [TRACE] (1) asyncgit::diff: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/asyncgit-0.26.0/src/diff.rs:101] request DiffParams { path: ".gitignore", diff_type: WorkDir, options: DiffOptions { ignore_whitespace: false, context: 3, interhunk_lines: 0 } }
09:47:56 [TRACE] (1) asyncgit::status: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/asyncgit-0.26.0/src/status.rs:102] request: [hash: 7892252436148838368] (type: WorkingDir)
09:47:56 [TRACE] (1) asyncgit::status: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/asyncgit-0.26.0/src/status.rs:102] request: [hash: 4036534904951496123] (type: Stage)
09:47:56 [TRACE] (4) asyncgit::status: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/asyncgit-0.26.0/src/status.rs:160] status fetched: 4036534904951496123 (type: Stage)
09:47:56 [TRACE] (1) gitui::app: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gitui-0.26.1/src/app.rs:395] update_async: Git(Diff)
09:47:56 [TRACE] (1) gitui::app: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gitui-0.26.1/src/app.rs:395] update_async: Git(Status)
09:47:56 [TRACE] (3) asyncgit::status: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/asyncgit-0.26.0/src/status.rs:160] status fetched: 7892252436148838368 (type: WorkingDir)
09:47:56 [TRACE] (1) gitui::app: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gitui-0.26.1/src/app.rs:395] update_async: Git(Status)
09:47:57 [TRACE] (1) gitui::app: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gitui-0.26.1/src/app.rs:278] event: Input(Key(KeyEvent { code: Enter, modifiers: KeyModifiers(0x0), kind: Press, state: KeyEventState(0x0) }))
09:47:57 [TRACE] (1) gitui::app: [/Users/gclark/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gitui-0.26.1/src/app.rs:278] event: Input(Key(KeyEvent { code: Char('c'), modifiers: KeyModifiers(CONTROL), kind: Press, state: KeyEventState(0x0) }))
```

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Bắt đầu với điểm vào pull được hiển thị trong asyncgit-0.26.0/src/pull.rs và phần xử lý thông tin xác thực SSH trong asyncgit-0.26.0/src/sync/remotes/callbacks; gitui-0.26.1/src/app.rs cho thấy thao tác được kích hoạt ở đâu. Tái hiện pull từ một repository doanh nghiệp bằng cấu hình SSH thay thế, sau đó truy vết lý do fetch báo “Repository not found.”. Hoàn thành khi pull và push hoạt động với repository đó mà không làm hỏng các remotes khác.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
git, github, rust
Lĩnh vực
authentication, cli
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.