about summary refs log tree commit diff
path: root/Functions/VCS_Info/Backends/VCS_INFO_get_data_bzr
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2008-09-19 12:58:46 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2008-09-19 12:58:46 +0000
commit23f2b4503c9d7697e382fed550d3bf846b81dd5c (patch)
tree8953de32c2d4126882d9d4c66bcbe7b8615e3419 /Functions/VCS_Info/Backends/VCS_INFO_get_data_bzr
parentd9f1432e074872aa3a89515bc65ede5ad6551a47 (diff)
downloadzsh-23f2b4503c9d7697e382fed550d3bf846b81dd5c.tar.gz
zsh-23f2b4503c9d7697e382fed550d3bf846b81dd5c.tar.xz
zsh-23f2b4503c9d7697e382fed550d3bf846b81dd5c.zip
users/13252 and elsewhere: Frank Terbeck plus tweaks:
add VCS_Info function system
Diffstat (limited to 'Functions/VCS_Info/Backends/VCS_INFO_get_data_bzr')
-rw-r--r--Functions/VCS_Info/Backends/VCS_INFO_get_data_bzr26
1 files changed, 26 insertions, 0 deletions
diff --git a/Functions/VCS_Info/Backends/VCS_INFO_get_data_bzr b/Functions/VCS_Info/Backends/VCS_INFO_get_data_bzr
new file mode 100644
index 000000000..995b2ad2d
--- /dev/null
+++ b/Functions/VCS_Info/Backends/VCS_INFO_get_data_bzr
@@ -0,0 +1,26 @@
+## vim:ft=zsh
+## bazaar support by: Frank Terbeck <ft@bewatermyfriend.org>
+## Distributed under the same BSD-ish license as zsh itself.
+
+setopt localoptions noksharrays extendedglob NO_shwordsplit
+local bzrbase bzrbr
+local -a bzrinfo
+
+if zstyle -t ":vcs_info:${vcs}:${usercontext}:${rrn}" "use-simple" ; then
+    bzrbase=${vcs_comm[basedir]}
+    bzrinfo[2]=${bzrbase:t}
+    if [[ -f ${bzrbase}/.bzr/branch/last-revision ]] ; then
+        bzrinfo[1]=$(< ${bzrbase}/.bzr/branch/last-revision)
+        bzrinfo[1]=${${bzrinfo[1]}%% *}
+    fi
+else
+    bzrbase=${${(M)${(f)"$( bzr info )"}:# ##branch\ root:*}/*: ##/}
+    bzrinfo=( ${${${(M)${(f)"$( bzr version-info )"}:#(#s)(revno|branch-nick)*}/*: /}/*\//} )
+    bzrbase="$(VCS_INFO_realpath ${bzrbase})"
+fi
+
+rrn=${bzrbase:t}
+zstyle -s ":vcs_info:${vcs}:${usercontext}:${rrn}" branchformat bzrbr || bzrbr="%b:%r"
+zformat -f bzrbr "${bzrbr}" "b:${bzrinfo[2]}" "r:${bzrinfo[1]}"
+VCS_INFO_formats '' "${bzrbr}" "${bzrbase}"
+return 0