From: Frank Terbeck Date: Fri, 29 Aug 2008 23:12:56 +0000 (+0200) Subject: zshrc: Adding support for cvs repositories to vcs_info() X-Git-Tag: 0.3.54~7 X-Git-Url: https://git.grml.org/?p=grml-etc-core.git;a=commitdiff_plain;h=ce2662172b0d75b9cdfecf17d4844f64d31ed240 zshrc: Adding support for cvs repositories to vcs_info() --- diff --git a/debian/changelog b/debian/changelog index 767b0b5..4360673 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +grml-etc-core (0.3.54) unstable; urgency=low + + * zshrc: Adding support for cvs repositories to vcs_info() + + -- Frank Terbeck Sat, 30 Aug 2008 01:12:01 +0200 + grml-etc-core (0.3.53) unstable; urgency=low [ Frank Terbeck ] diff --git a/etc/zsh/zshrc b/etc/zsh/zshrc index c3535f2..7920d6f 100644 --- a/etc/zsh/zshrc +++ b/etc/zsh/zshrc @@ -1041,7 +1041,7 @@ fi # First, the context in which we are working: # :vcs_info: # ...where is one of: -# - git, git-svn, hg, darcs, bzr, mtn, svn or svk +# - git, git-svn, hg, darcs, bzr, mtn, svn, cvs or svk # # You can of course use ':vcs_info:*' to match all VCSs at once. # @@ -1301,6 +1301,24 @@ VCS_INFO_bzr_get_data () { # {{{ printf '%s' ${msg} } # }}} +VCS_INFO_cvs_get_data () { # {{{ + local msg cvsbranch cvsbase basename + + cvsbase="." + while [[ -d "${cvsbase}/../CVS" ]]; do + cvsbase="${cvsbase}/.." + done + cvsbase=$(VCS_INFO_realpath ${cvsbase}) + cvsbranch=$(< ./CVS/Repository) + basename=${cvsbase:t} + cvsbranch=${cvsbranch##${basename}/} + [[ -z ${cvsbranch} ]] && cvsbranch=${basename} + + msg=$(VCS_INFO_format) + zformat -f msg "${msg}" "a:" "b:${cvsbranch}" "s:${vcs}" "r:${basename}" "R:${cvsbase}" + printf '%s' ${msg} +} +# }}} # VCS_INFO_*_detect () {{{ VCS_INFO_detect_by_dir() { @@ -1333,6 +1351,12 @@ VCS_INFO_bzr_detect() { return $? } +VCS_INFO_cvs_detect() { + check_com -c svn || return 1 + [[ -d "CVS" ]] && return 0 + return 1 +} + VCS_INFO_darcs_detect() { check_com -c darcs || return 1 vcs_comm[detect_need_file]=format @@ -1393,7 +1417,7 @@ vcs_info () { # {{{ zstyle -T ":vcs_info:${vcs}" "enable" || return 0 zstyle -a ":vcs_info:${vcs}" "disable" disabled - VCSs=(git hg bzr darcs mtn svn svk) + VCSs=(git hg bzr darcs mtn svn cvs svk) (( found = 0 )) for vcs in ${VCSs} ; do