JetpackDuba / Gitnuro

A FOSS Git multiplatform client for newbies and pros
https://gitnuro.com/
GNU General Public License v3.0
973 stars 50 forks source link

Pull is extremely slow, not working at all #223

Closed buergi closed 2 weeks ago

buergi commented 2 months ago

Describe the bug Just installed gitnuro (via flatpack) for the first time to try it. However, it hangs when I try to push/pull a checked out repo which requires a passphrase for the SSH key.

To Reproduce

  1. Starting gitnuro
  2. Open a repo (which I can easily git pull on command line, but the key requires a passphrase)
  3. Hit pull
  4. Enter the passphrase for the SSH key
  5. Pulling takes many many minutes (always stopped after 5-10 minutes), even if the local repo is already up to date. On the command line the output is similar to this
    Public key auth
    Status is Denied
    Public key auth
    [...] ## then nothing for several minutes
    Event: Ok(Event { kind: Modify(Data(Any)), paths: ["/home/user/dev/repo/.git/FETCH_HEAD"], attr:tracker: None, attr:flag: None, attr:info: None, attr:source: None })
    Event: Ok(Event { kind: Access(Close(Write)), paths: ["/home/user/dev/repo/.git/FETCH_HEAD"], attr:tracker: None, attr:flag: None, attr:info: None, attr:source: None })
    Event: Ok(Event { kind: Create(File), paths: ["/home/user/dev/repo/.git/FETCH_HEAD.lock"], attr:tracker: None, attr:flag: None, attr:info: None, attr:source: None })
    [...]
    Sending batched events to Kotlin side
    [...] ## then nothing for several minutes
    Event: Ok(Event { kind: Remove(File), paths: ["/home/user/dev/repo/CMakeLists.txt"], attr:tracker: None, attr:flag: None, attr:info: None, attr:source: None })
    [...]
    Event: Ok(Event { kind: Create(File), paths: ["/home/user/dev/repo/sw/shared/cmake/helper_macros.cmake"], attr:tracker: None, attr:flag: None, attr:info: None, attr:source: None })
    Event: Ok(Event { kind: Modify(Data(Any)), paths: ["/home/user/dev/repo/sw/shared/cmake/helper_macros.cmake"], attr:tracker: None, attr:flag: None, attr:info: None, attr:source: None })
    Event: Ok(Event { kind: Access(Close(Write)), paths: ["/home/user/dev/repo/sw/shared/cmake/helper_macros.cmake"], attr:tracker: None, attr:flag: None, attr:info: None, attr:source: None })
    [...]
    Event: Ok(Event { kind: Modify(Data(Any)), paths: ["/home/user/dev/repo/.git/index.lock"], attr:tracker: None, attr:flag: None, attr:info: None, attr:source: None })

Expected behavior Should check the repo state, notice it is already up to date and finish. I don't understand what gitnuro is doing that it takes so long, and why it first removes some files just to re-create them later. Same when checking out a repo for the first time, it just takes ages. It generates the target folders with an empty git repo structure and then keeps hanging for minutes "Starting..."

Desktop (please complete the following information):

JetpackDuba commented 2 months ago

Weird, nothing interesting in the logs. A few questions:

buergi commented 2 months ago

Hm actually I don't understand it, I started playing around with removing the passphrase of my SSH key (with ssh-keygen -p) and it worked, now, even with the encrypted SSH keyfile I'm not able to reproduce the problem again. However, what I noticed, what might probably be connected is, that I'm pretty sure I entered my passphrase in a dialog from gitnuro the last times when it didn't worked. Now that it is working, the popup querying for my passphrase is from the gnome keyring.

JetpackDuba commented 2 months ago

Seems like something was wrong at libssh level but it's hard to say without more detail. Do you remember what command did you use to create your SSH key? In case there is some kind of difference than removing/readding a password to it.

JetpackDuba commented 2 weeks ago

I'll close the issue for now, let me know if it shows up again :smiley_cat: