zsh-workers
 help / color / mirror / code / Atom feed
815924c268fade48f53f30b6735d4800becae284 blob 1124 bytes (raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
## 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}
zstyle -s ":vcs_info:${vcs}:${usercontext}:${rrn}" branchformat p4branch || p4branch="%b:%r"
hook_com=( branch "${p4info[Client_name]}" revision "${change}" )
if VCS_INFO_hook 'set-branch-format' "${p4branch}"; then
    zformat -f p4branch "${p4branch}" "b:${hook_com[branch]}" "r:${hook_com[revision]}"
else
    p4branch=${hook_com[branch-replace]}
fi
hook_com=()
VCS_INFO_formats '' "${p4branch}" "${p4base}" '' '' "$change" ''
return 0
debug log:

solving 815924c26 ...
found 815924c26 in https://git.vuxu.org/mirror/zsh/

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).