Mykola Krachkovsky 1e277553bc fix(svn): fix sed call in `svn_get_rev_nr` (#10590) 2 years ago
..
README.md 19b925e741 use https everywhere (#6574) 5 years ago
svn.plugin.zsh 1e277553bc fix(svn): fix sed call in `svn_get_rev_nr` (#10590) 2 years ago

README.md

svn plugin

This plugin adds some utility functions to display additional information regarding your current svn repository. See https://subversion.apache.org/ for the full svn documentation.

To use it, add svn to your plugins array:

plugins=(... svn)

Functions

Command Description
svn_prompt_info Shows svn prompt in themes
in_svn Checks if we're in an svn repository
svn_get_repo_name Get repository name
svn_get_branch_name Get branch name (see caveats)
svn_get_rev_nr Get revision number
svn_dirty Checks if there are changes in the svn repo

Caveats

The plugin expects the first directory to be the current branch / tag / trunk. So it returns the first path element if you don't use branches.

Usage on themes

To use this in the agnoster theme follow these instructions:

  1. Enable the svn plugin

  2. Add the following lines to your zshrc file:

    prompt_svn() {
        local rev branch
        if in_svn; then
            rev=$(svn_get_rev_nr)
            branch=$(svn_get_branch_name)
            if [[ $(svn_dirty_choose_pwd 1 0) -eq 1 ]]; then
                prompt_segment yellow black
                echo -n "$rev@$branch"
                echo -n "±"
            else
                prompt_segment green black
                echo -n "$rev@$branch"
            fi
        fi
    }
    
  3. Override the agnoster build_prompt() function:

    build_prompt() {
        RETVAL=$?
        prompt_status
        prompt_context
        prompt_dir
        prompt_git
        prompt_svn
        prompt_end
    }