## vim:ft=zsh ## perforce support by: Phil Pennock ## Distributed under the same BSD-ish license as zsh itself. # XXX: This soooo needs to be cached setopt localoptions extendedglob local p4base a b local -A p4info local -A hook_com ${vcs_comm[cmd]} info | while IFS=: read a b; do p4info[${a// /_}]="${b## #}"; done p4base=${vcs_comm[basedir]} # We'll use the client name as the branch; close enough. local p4branch change # We'll use the latest change number to which the hierarchy from # here down is synced as the revision. # I suppose the following might be slow on a tortuous client view. change="${${$(${vcs_comm[cmd]} changes -m 1 ...\#have)##Change }%% *}" rrn=${p4base:t} VCS_INFO_set-branch-format "${p4info[Client_name]}" "${change}" && p4branch="${REPLY}" VCS_INFO_formats '' "${p4branch}" "${p4base}" '' '' "$change" '' return 0