Fetch Failed: Repository Not Found
- 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**
**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
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