sindrets / diffview.nvim

Single tabpage interface for easily cycling through diffs for all modified files for any git rev.
Other
3.74k stars 105 forks source link

[bug] Getting "Not a repo (or any parent), or no supported VCS adapter! " after recent update. #357

Closed PiotrBosak closed 1 year ago

PiotrBosak commented 1 year ago

Hi, it seems there's been a regression in a recent diffview version. After I run :DiffviewOpen in a git repository, I get : "[Diffview.nvim] Not a repo (or any parent), or no supported VCS adapter!". The directory is a git repo and I do have a required git version.

I'm pretty sure this problem was introduced in 5f1dbb6d742403427369ff33a2d992f7451ef41d. One commit before that the plugin works fine.

I'm using MacbookPro with M1(arm) in case that's relevant.

sindrets commented 1 year ago

Please include relevant info from :DiffviewLog.

PiotrBosak commented 1 year ago
[INFO  2023-05-14 12:36:46.925 +0200] ...ite/pack/packer/start/diffview.nvim/lua/diffview/lib.lua:24: [command call] :DiffviewOpen 
[INFO  2023-05-14 12:36:49.744 +0200] ...ite/pack/packer/start/diffview.nvim/lua/diffview/lib.lua:24: [command call] :DiffviewOpen 
[ERROR 2023-05-14 12:36:49.745 +0200] ...tart/diffview.nvim/lua/diffview/vcs/adapters/hg/init.lua:50: [HgAdapter] Configured `hg_cmd` is not executable: 'hg'
[ERROR 2023-05-14 12:36:49.745 +0200] ...e/pack/packer/start/diffview.nvim/lua/diffview/utils.lua:92: Not a repo (or any parent), or no supported VCS adapter!
sindrets commented 1 year ago

I just tested the plugin in a MacOS VM, and I can't reproduce this. Are you running nvim with LuaJIT? Please also include the output of :version. You can also run diffview's health checks with :checkhealth diffview.

D00mch commented 1 year ago

I have the same issue, started to occur about 5 days ago.


diffview: require("diffview.health").check()
========================================================================
## Checking plugin dependencies
  - OK: nvim-web-devicons installed.

## Checking VCS tools
  - INFO: The plugin requires at least one of the supported VCS tools to be valid.
  - WARNING: Git: Unknown error
  - WARNING: Configured `hg_cmd` is not executable: 'hg'
  - ERROR: No valid VCS tool was found!
D00mch commented 1 year ago

The problem is intorduced in this commit 5f1dbb6d742403427369ff33a2d992f7451ef41d

imjamesdotme commented 1 year ago

Hey 👋 I've just installed DiffView for the first time today and I've also encountered this issue. I'm also using a MacBook Pro with an M1 chip and Neovim 0.8.2 (with LunarVim).

[INFO  2023-05-15 09:50:20.172 +0100] ...im/site/pack/lazy/opt/diffview.nvim/lua/diffview/lib.lua:74: [command call] :DiffviewFileHistory 
[INFO  2023-05-15 09:50:45.867 +0100] ...im/site/pack/lazy/opt/diffview.nvim/lua/diffview/lib.lua:74: [command call] :DiffviewFileHistory %
[ERROR 2023-05-15 09:50:45.868 +0100] .../opt/diffview.nvim/lua/diffview/vcs/adapters/hg/init.lua:50: [HgAdapter] Configured `hg_cmd` is not executable: 'hg'
[ERROR 2023-05-15 09:50:45.868 +0100] .../site/pack/lazy/opt/diffview.nvim/lua/diffview/utils.lua:92: Not a repo (or any parent), or no supported VCS adapter!
[INFO  2023-05-15 09:50:55.888 +0100] ...im/site/pack/lazy/opt/diffview.nvim/lua/diffview/lib.lua:74: [command call] :DiffviewFileHistory 
[ERROR 2023-05-15 09:50:55.888 +0100] .../site/pack/lazy/opt/diffview.nvim/lua/diffview/utils.lua:92: Not a repo (or any parent), or no supported VCS adapter!
[INFO  2023-05-15 09:51:02.111 +0100] ...im/site/pack/lazy/opt/diffview.nvim/lua/diffview/lib.lua:24: [command call] :DiffviewOpen 
[ERROR 2023-05-15 09:51:02.111 +0100] .../site/pack/lazy/opt/diffview.nvim/lua/diffview/utils.lua:92: Not a repo (or any parent), or no supported VCS adapter!
diffview: require("diffview.health").check()
========================================================================
  - ERROR: Failed to run healthcheck for "diffview" plugin. Exception:
    function health#check, line 20
    Vim(eval):E5108: Error executing lua .../site/pack/lazy/opt/diffview.nvim/lua/diffview/async.lua:179: The coroutine failed with this message: 
    context: cur_thread=main co_thread=<thread 0x01072c64b0> co_func=.../site/pack/lazy/opt/diffview.nvim/lua/diffview/async.lua:560
    ...im/site/pack/lazy/opt/diffview.nvim/lua/diffview/ffi.lua:18: dlsym(RTLD_DEFAULT, expr_map_lock): symbol not found
    stack traceback:
    [C]: in function '__index'
    ...im/site/pack/lazy/opt/diffview.nvim/lua/diffview/ffi.lua:18: in function 'nvim_is_locked'
    .../site/pack/lazy/opt/diffview.nvim/lua/diffview/async.lua:561: in function 'func'
    .../site/pack/lazy/opt/diffview.nvim/lua/diffview/async.lua:366: in function <.../site/pack/lazy/opt/diffview.nvim/lua/diffview/async.lua:351>
    stack traceback:
    [C]: in function 'error'
    .../site/pack/lazy/opt/diffview.nvim/lua/diffview/async.lua:179: in function 'raise'
    .../site/pack/lazy/opt/diffview.nvim/lua/diffview/async.lua:207: in function 'step'
    .../site/pack/lazy/opt/diffview.nvim/lua/diffview/async.lua:405: in function 'scheduler'
    ...im/site/pack/lazy/opt/diffview.nvim/lua/diffview/job.lua:400: in function 'sync'
    .../site/pack/lazy/opt/diffview.nvim/lua/diffview/utils.lua:358: in function 'job'
    ...opt/diffview.nvim/lua/diffview/vcs/adapters/git/init.lua:85: in function 'run_bootstrap'
    ...site/pack/lazy/opt/diffview.nvim/lua/diffview/health.lua:65: in function <...site/pack/lazy/opt/diffview.nvim/lua/diffview/health.lua:49>
    ...site/pack/lazy/opt/diffview.nvim/lua/diffview/health.lua:82: in function 'check'
    [string "luaeval()"]:1: in main chunk
sindrets commented 1 year ago

Just pushed a fix for what I believe was the cause of the problem. Can someone test and confirm?

D00mch commented 1 year ago

Fix works.

imjamesdotme commented 1 year ago

@sindrets I can confirm the fix is working for me too! Awesome work, thank you! 😄

rgzntrade commented 1 year ago

I am using mac pro m2 max, nvim=0.10 \ 0.9.1 , diffview latest version. Still have this problem

sindrets commented 1 year ago

@rgzntrade Getting that message is not necessarily a bug. Please open a new issue using the bug report template if you believe something is not working as intended. I would need the additional context provided by the bug report in order to help you.

weber-s commented 1 year ago

Hey there, I just encoutered the same bug as @rgzntrade (lunarvim setup with neovim 0.9.1). I'm running debian bullseye. It appears that the "warning" of the git version being outdated (2.30 instead of 2.31) was the cause of the crash. Just installed git from backport (2.39) solved the issue.

victorscomma commented 11 months ago

Issue occurs on my 2020 intel iMac

macOS Monterey version 12.6.9 Git version 2.27.0 Neovim 0.9.1

Works on my 2023 M2 MacBook

macOS Ventura version 13.2.1 Git version 2.37.1 Neovim 0.9.1

Updated iMac to Git 2.33.0 and it works on iMac now as well.

So issue appears to be Git version as mentioned by previous comment.

sindrets commented 11 months ago

@victorscomma Please do not necro-bump solved issues. The original issue in this thread was solved a long time ago. Like I've stated already in this thread, getting the "Not a repo (or any parent), or no supported VCS adapter!" message is not a bug. The plugin not working with an unsupported version of Git is also not an issue. Minimum version requirements are clearly stated in the README, and :checkhealth diffview will tell you if anything is out of order.