1

How to disable a specific feature in the fish shell? For example, I want to disable the Subversion integration.

When I enter in a directory (cd) of whatever medium-to-big repository with Subversion, the terminal hangs for 30+ minutes. It also does not respond to the ^C kill signal so I'm just stuck. I discovered that this feature will probably be disabled in the "future":

https://github.com/fish-shell/fish-shell/issues/6625

Anyway it's not clear to me how to tell fish that this feature should be disabled. Bonus point: only from one specific user.

I'm using a Debian-based GNU/Linux distribution and I'm using fish version 3.1.0. so this feature is still present. I have an LTS distribution so, if possible, I would just like to understand how to play with the fish configuration, instead of upgrade it.

Maybe fish does not support such configuration, or maybe yes. Maybe the only solution is to hack my source code from the root user. Thank you for your thoughts.

1
  • Do you have something in your prompt that does SVN-related stuff? Do you use a fish plugin manager (like oh-my-fish)? Commented Nov 11, 2022 at 19:28

1 Answer 1

2

The svn-integration is localized entirely within one function, called fish_svn_prompt. This function is called by your prompt, possibly via the fish_vcs_prompt cover function that just tries all the vcs integrations in order.

So, you need to find if your prompt runs either of those and either remove it, or change fish_vcs_prompt to not call fish_svn_prompt.

Use funced fish_prompt and, if it calls fish_vcs_prompt and you want to keep git integration (which is a great deal faster), run funced fish_vcs_prompt, and comment out where it calls fish_svn_prompt.

Then run funcsave fish_vcs_prompt (or whichever other function name) once you're happy. This will save a copy of that function in your configuration so it's only done for one user.

I discovered that this feature will probably be disabled in the "future":

This feature has already been disabled in fish 3.1.1. See https://github.com/fish-shell/fish-shell/issues/6681

https://github.com/fish-shell/fish-shell/issues/6625

This is an entirely different issue. It is about macOS being awkward and should have no bearing on Debian.

I'm using a Debian-based GNU/Linux distribution and I'm using fish version 3.1.0.

The easiest and nicest solution is to just upgrade fish - version 3.1.0 is missing over 25% of all commits ever made to fish. It's unfortunate that Debian chose not to upgrade to the 3.1.1 (and 3.1.2) bugfix release, but fish upstream offers packages for Debian 9-11 (the supported Debian releases). See https://fishshell.com/ for details.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .