Skip to content

svnversion should not be executed by default #6681

@asomers

Description

@asomers
> fish --version
fish, version 3.1.0
> uname -a
FreeBSD fbsd-head.lauralan.noip.me 13.0-CURRENT FreeBSD 13.0-CURRENT #58 r358258M: Sun Feb 23 14:50:10 MST 2020     somers@fbsd-head.lauralan.noip.me:/usr/obj/usr/home/somers/freebsd/base/head/amd64.amd64/sys/GENERIC  amd64
> echo $TERM
xterm-256color

Fish 3.1.0 "helpfully" runs svnversion and svn status in order to change the prompt, whenever it detects that the pwd is part of a subversion working copy. That feature is probably handy when working in small repositories. But in a large repository, those commands take far too much time, especially so if the pwd lies on a remote file system. For example, on my system I have /usr/home mounted over NFS. In my FreeBSD source tree, svnversion and svn status take a combined 42 seconds to run. And fish runs them after every single command. That makes the shell entirely unusable.

I notice that fish runs git branch in git repositories. That's fine; git branch is fast. But I believe that no command that traverses the entire tree should be run by default, just to change the prompt.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions