# First, the context in which we are working:
# :vcs_info:<vcs-string>
# ...where <vcs-string> 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.
#
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
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} ;;
VCS_INFO_bzr_detect() {
check_com -c bzr || return 1
+ vcs_comm[detect_need_file]=branch/format
VCS_INFO_detect_by_dir '.bzr'
return $?
}
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
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