X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=etc%2Fzsh%2Fzshrc;h=c3535f2b76b25a2358d1244b918deaf4115c627f;hb=refs%2Ftags%2F0.3.53;hp=cb261bf030a76eb68a373623ca41cdab83158df3;hpb=0362e538666d6c8522a835a2e839c63d545e385c;p=grml-etc-core.git diff --git a/etc/zsh/zshrc b/etc/zsh/zshrc index cb261bf..c3535f2 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, svn or svk +# - git, git-svn, hg, darcs, bzr, mtn, svn or svk # # You can of course use ':vcs_info:*' to match all VCSs at once. # @@ -1242,6 +1242,16 @@ VCS_INFO_hg_get_data () { # {{{ printf '%s' ${msg} } # }}} +VCS_INFO_mtn_get_data () { # {{{ + local msg mtnbranch mtnbase + + mtnbase=${vcs_comm[basedir]} + mtnbranch=$(mtn status | awk '/Current branch:/{ sub("Current branch: ", ""); print }') + msg=$(VCS_INFO_format) + zformat -f msg "${msg}" "a:" "b:${mtnbranch}" "s:${vcs}" "r:${mtnbase:t}" "R:${mtnbase}" + printf '%s' ${msg} +} +# }}} VCS_INFO_svk_get_data () { # {{{ local msg svkbranch svkbase @@ -1274,12 +1284,10 @@ VCS_INFO_svn_get_data () { # {{{ VCS_INFO_bzr_get_data () { # {{{ local msg bzrbranch bzrbase bzrrevno i j - bzrbase=$(bzr info | sed -rne 's, *branch root: ,,p') - case ${bzrbase} in - .) bzrbase=${PWD} ;; - esac + bzrbase=$(bzr info 2>/dev/null | sed -rne 's, *branch root: ,,p') + bzrbase=$(VCS_INFO_realpath ${bzrbase}) - bzr version-info | while read i j; do + bzr version-info 2> /dev/null | while read i j; do case "${i}" in revno:) bzrrevno=${j} ;; @@ -1320,6 +1328,7 @@ VCS_INFO_detect_by_dir() { VCS_INFO_bzr_detect() { check_com -c bzr || return 1 + vcs_comm[detect_need_file]=branch/format VCS_INFO_detect_by_dir '.bzr' return $? } @@ -1347,6 +1356,13 @@ VCS_INFO_hg_detect() { return $? } +VCS_INFO_mtn_detect() { + check_com -c mtn || return 1 + vcs_comm[detect_need_file]=revision + VCS_INFO_detect_by_dir '_MTN' + return $? +} + VCS_INFO_svk_detect() { local basedir @@ -1377,7 +1393,7 @@ vcs_info () { # {{{ zstyle -T ":vcs_info:${vcs}" "enable" || return 0 zstyle -a ":vcs_info:${vcs}" "disable" disabled - VCSs=(git hg bzr darcs svn svk) + VCSs=(git hg bzr darcs mtn svn svk) (( found = 0 )) for vcs in ${VCSs} ; do