about summary refs log tree commit diff
path: root/Functions/VCS_Info/Backends
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2008-09-23 16:48:27 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2008-09-23 16:48:27 +0000
commitc328252c58d215cc116dacd36a7e53ba3fc3c1f0 (patch)
tree48e2d03eac2bd0a86c1490948951fc5b2b4ea5bb /Functions/VCS_Info/Backends
parentf49d738db3d6cacb17cf4374f61948c5634c3aab (diff)
downloadzsh-c328252c58d215cc116dacd36a7e53ba3fc3c1f0.tar.gz
zsh-c328252c58d215cc116dacd36a7e53ba3fc3c1f0.tar.xz
zsh-c328252c58d215cc116dacd36a7e53ba3fc3c1f0.zip
25733: add revision number to Perforce vcs_info backend
add abbreviation to list of backends
Diffstat (limited to 'Functions/VCS_Info/Backends')
-rw-r--r--Functions/VCS_Info/Backends/VCS_INFO_get_data_p414
1 files changed, 12 insertions, 2 deletions
diff --git a/Functions/VCS_Info/Backends/VCS_INFO_get_data_p4 b/Functions/VCS_Info/Backends/VCS_INFO_get_data_p4
index 82ca6ef1c..749d2ef4c 100644
--- a/Functions/VCS_Info/Backends/VCS_INFO_get_data_p4
+++ b/Functions/VCS_Info/Backends/VCS_INFO_get_data_p4
@@ -10,5 +10,15 @@ local -A p4info
 p4 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
-VCS_INFO_formats '' "${p4info[Client_name]}" "${p4base}"
+# 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="${${$(p4 changes -m 1 ...)##Change }%% *}"
+zstyle -s ":vcs_info:${vcs}:${usercontext}:${rrn}" branchformat p4branch ||
+p4branch="%b:%r"
+zformat -f p4branch "${p4branch}" "b:${p4info[Client_name]}" \
+"r:$change"
+
+VCS_INFO_formats '' "${p4branch}" "${p4base}"