From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25449 invoked from network); 6 Apr 2009 17:46:31 -0000 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.2.5 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by ns1.primenet.com.au with SMTP; 6 Apr 2009 17:46:31 -0000 Received-SPF: none (ns1.primenet.com.au: domain at sunsite.dk does not designate permitted sender hosts) Received: (qmail 86141 invoked from network); 6 Apr 2009 17:46:14 -0000 Received: from sunsite.dk (130.225.247.90) by a.mx.sunsite.dk with SMTP; 6 Apr 2009 17:46:14 -0000 Received: (qmail 398 invoked by alias); 6 Apr 2009 17:45:57 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 26816 Received: (qmail 375 invoked from network); 6 Apr 2009 17:45:55 -0000 Received: from bifrost.dotsrc.org (130.225.254.106) by sunsite.dk with SMTP; 6 Apr 2009 17:45:55 -0000 Received: from smtprelay04.ispgateway.de (smtprelay04.ispgateway.de [80.67.18.16]) by bifrost.dotsrc.org (Postfix) with ESMTP id 4DE2382D4B6A for ; Mon, 6 Apr 2009 19:45:51 +0200 (CEST) Received: from [89.245.57.95] (helo=fsst.voodoo.lan) by smtprelay04.ispgateway.de with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.68) (envelope-from ) id 1LqstK-0005i5-Kd for zsh-workers@sunsite.dk; Mon, 06 Apr 2009 19:45:50 +0200 Received: from hawk by fsst.voodoo.lan with local (Exim 4.69) (envelope-from ) id 1Lqst8-0005Pn-TH for zsh-workers@sunsite.dk; Mon, 06 Apr 2009 19:45:38 +0200 From: Frank Terbeck To: zsh-workers@sunsite.dk Subject: PATCH: (1/5) vcs_info: add revision and "misc" argument to VCS_INFO_formats() Date: Mon, 6 Apr 2009 19:45:34 +0200 Message-Id: <1239039938-20782-2-git-send-email-ft@bewatermyfriend.org> X-Mailer: git-send-email 1.6.2.1.136.g8e24 In-Reply-To: <1239039938-20782-1-git-send-email-ft@bewatermyfriend.org> References: <1239039938-20782-1-git-send-email-ft@bewatermyfriend.org> X-Df-Sender: 430444 X-Virus-Scanned: ClamAV 0.92.1/9207/Mon Apr 6 13:58:21 2009 on bifrost X-Virus-Status: Clean There is no reason why the revision should only be available in branchformat. This way it's in formats and actionformats, too. As %i (think: identifier) as %r and %R where both taken already. This also adds a "misc" parameter that currently nobody uses. But I'm planning to make the hg backend use it. --- Functions/VCS_Info/Backends/VCS_INFO_get_data_bzr | 2 +- Functions/VCS_Info/Backends/VCS_INFO_get_data_cdv | 2 +- Functions/VCS_Info/Backends/VCS_INFO_get_data_cvs | 2 +- .../VCS_Info/Backends/VCS_INFO_get_data_darcs | 2 +- Functions/VCS_Info/Backends/VCS_INFO_get_data_git | 2 +- Functions/VCS_Info/Backends/VCS_INFO_get_data_hg | 2 +- Functions/VCS_Info/Backends/VCS_INFO_get_data_mtn | 2 +- Functions/VCS_Info/Backends/VCS_INFO_get_data_p4 | 2 +- Functions/VCS_Info/Backends/VCS_INFO_get_data_svk | 2 +- Functions/VCS_Info/Backends/VCS_INFO_get_data_svn | 2 +- Functions/VCS_Info/Backends/VCS_INFO_get_data_tla | 2 +- Functions/VCS_Info/VCS_INFO_formats | 21 +++++++++++++++++++- 12 files changed, 31 insertions(+), 12 deletions(-) diff --git a/Functions/VCS_Info/Backends/VCS_INFO_get_data_bzr b/Functions/VCS_Info/Backends/VCS_INFO_get_data_bzr index 1030c06..e85de31 100644 --- a/Functions/VCS_Info/Backends/VCS_INFO_get_data_bzr +++ b/Functions/VCS_Info/Backends/VCS_INFO_get_data_bzr @@ -22,5 +22,5 @@ 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}" '' '' +VCS_INFO_formats '' "${bzrbr}" "${bzrbase}" '' '' "${bzrinfo[1]}" '' return 0 diff --git a/Functions/VCS_Info/Backends/VCS_INFO_get_data_cdv b/Functions/VCS_Info/Backends/VCS_INFO_get_data_cdv index 2c516ea..4f81184 100644 --- a/Functions/VCS_Info/Backends/VCS_INFO_get_data_cdv +++ b/Functions/VCS_Info/Backends/VCS_INFO_get_data_cdv @@ -7,5 +7,5 @@ local cdvbase cdvbase=${vcs_comm[basedir]} rrn=${cdvbase:t} -VCS_INFO_formats '' "${cdvbase:t}" "${cdvbase}" '' '' +VCS_INFO_formats '' "${cdvbase:t}" "${cdvbase}" '' '' '' '' return 0 diff --git a/Functions/VCS_Info/Backends/VCS_INFO_get_data_cvs b/Functions/VCS_Info/Backends/VCS_INFO_get_data_cvs index 1c222ce..ed738b9 100644 --- a/Functions/VCS_Info/Backends/VCS_INFO_get_data_cvs +++ b/Functions/VCS_Info/Backends/VCS_INFO_get_data_cvs @@ -14,5 +14,5 @@ cvsbranch=$(< ./CVS/Repository) rrn=${cvsbase:t} cvsbranch=${cvsbranch##${rrn}/} [[ -z ${cvsbranch} ]] && cvsbranch=${rrn} -VCS_INFO_formats '' "${cvsbranch}" "${cvsbase}" '' '' +VCS_INFO_formats '' "${cvsbranch}" "${cvsbase}" '' '' '' '' return 0 diff --git a/Functions/VCS_Info/Backends/VCS_INFO_get_data_darcs b/Functions/VCS_Info/Backends/VCS_INFO_get_data_darcs index a1ebbb6..3f6a226 100644 --- a/Functions/VCS_Info/Backends/VCS_INFO_get_data_darcs +++ b/Functions/VCS_Info/Backends/VCS_INFO_get_data_darcs @@ -7,5 +7,5 @@ local darcsbase darcsbase=${vcs_comm[basedir]} rrn=${darcsbase:t} -VCS_INFO_formats '' "${darcsbase:t}" "${darcsbase}" '' '' +VCS_INFO_formats '' "${darcsbase:t}" "${darcsbase}" '' '' '' '' return 0 diff --git a/Functions/VCS_Info/Backends/VCS_INFO_get_data_git b/Functions/VCS_Info/Backends/VCS_INFO_get_data_git index 75d39cc..745be34 100644 --- a/Functions/VCS_Info/Backends/VCS_INFO_get_data_git +++ b/Functions/VCS_Info/Backends/VCS_INFO_get_data_git @@ -108,5 +108,5 @@ VCS_INFO_adjust gitaction="$(VCS_INFO_git_getaction ${gitdir})" gitbase=${PWD%/${$( ${vcs_comm[cmd]} rev-parse --show-prefix )%/##}} rrn=${gitbase:t} -VCS_INFO_formats "${gitaction}" "${gitbranch}" "${gitbase}" "${gitstaged}" "${gitunstaged}" +VCS_INFO_formats "${gitaction}" "${gitbranch}" "${gitbase}" "${gitstaged}" "${gitunstaged}" '' '' return 0 diff --git a/Functions/VCS_Info/Backends/VCS_INFO_get_data_hg b/Functions/VCS_Info/Backends/VCS_INFO_get_data_hg index fb7c450..d70e03c 100644 --- a/Functions/VCS_Info/Backends/VCS_INFO_get_data_hg +++ b/Functions/VCS_Info/Backends/VCS_INFO_get_data_hg @@ -8,5 +8,5 @@ local hgbranch hgbase hgbase=${vcs_comm[basedir]} rrn=${hgbase:t} hgbranch=$(< ${hgbase}/.hg/branch) -VCS_INFO_formats '' "${hgbranch}" "${hgbase}" '' '' +VCS_INFO_formats '' "${hgbranch}" "${hgbase}" '' '' '' '' return 0 diff --git a/Functions/VCS_Info/Backends/VCS_INFO_get_data_mtn b/Functions/VCS_Info/Backends/VCS_INFO_get_data_mtn index 63f0601..0a8064c 100644 --- a/Functions/VCS_Info/Backends/VCS_INFO_get_data_mtn +++ b/Functions/VCS_Info/Backends/VCS_INFO_get_data_mtn @@ -8,5 +8,5 @@ local mtnbranch mtnbase mtnbase=${vcs_comm[basedir]} rrn=${mtnbase:t} mtnbranch=${${(M)${(f)"$( ${vcs_comm[cmd]} status )"}:#(#s)Current branch:*}/*: /} -VCS_INFO_formats '' "${mtnbranch}" "${mtnbase}" '' '' +VCS_INFO_formats '' "${mtnbranch}" "${mtnbase}" '' '' '' '' return 0 diff --git a/Functions/VCS_Info/Backends/VCS_INFO_get_data_p4 b/Functions/VCS_Info/Backends/VCS_INFO_get_data_p4 index ac87faf..e4bbb06 100644 --- a/Functions/VCS_Info/Backends/VCS_INFO_get_data_p4 +++ b/Functions/VCS_Info/Backends/VCS_INFO_get_data_p4 @@ -21,4 +21,4 @@ p4branch="%b:%r" zformat -f p4branch "${p4branch}" "b:${p4info[Client_name]}" \ "r:$change" -VCS_INFO_formats '' "${p4branch}" "${p4base}" '' '' +VCS_INFO_formats '' "${p4branch}" "${p4base}" '' '' "$change" '' diff --git a/Functions/VCS_Info/Backends/VCS_INFO_get_data_svk b/Functions/VCS_Info/Backends/VCS_INFO_get_data_svk index 48e5edb..29cda81 100644 --- a/Functions/VCS_Info/Backends/VCS_INFO_get_data_svk +++ b/Functions/VCS_Info/Backends/VCS_INFO_get_data_svk @@ -9,5 +9,5 @@ svkbase=${vcs_comm[basedir]} rrn=${svkbase:t} zstyle -s ":vcs_info:${vcs}:${usercontext}:${rrn}" branchformat svkbranch || svkbranch="%b:%r" zformat -f svkbranch "${svkbranch}" "b:${vcs_comm[branch]}" "r:${vcs_comm[revision]}" -VCS_INFO_formats '' "${svkbranch}" "${svkbase}" '' '' +VCS_INFO_formats '' "${svkbranch}" "${svkbase}" '' '' "${${vcs_comm[revision]}" '' return 0 diff --git a/Functions/VCS_Info/Backends/VCS_INFO_get_data_svn b/Functions/VCS_Info/Backends/VCS_INFO_get_data_svn index e180805..75da22b 100644 --- a/Functions/VCS_Info/Backends/VCS_INFO_get_data_svn +++ b/Functions/VCS_Info/Backends/VCS_INFO_get_data_svn @@ -24,5 +24,5 @@ svnbase="$(VCS_INFO_realpath ${svnbase})" rrn=${svnbase:t} zstyle -s ":vcs_info:${vcs}:${usercontext}:${rrn}" branchformat svnbranch || svnbranch="%b:%r" zformat -f svnbranch "${svnbranch}" "b:${svninfo[URL]##*/}" "r:${svninfo[Revision]}" -VCS_INFO_formats '' "${svnbranch}" "${svnbase}" '' '' +VCS_INFO_formats '' "${svnbranch}" "${svnbase}" '' '' "${svninfo[Revision]}" '' return 0 diff --git a/Functions/VCS_Info/Backends/VCS_INFO_get_data_tla b/Functions/VCS_Info/Backends/VCS_INFO_get_data_tla index 69a82eb..f015e0c 100644 --- a/Functions/VCS_Info/Backends/VCS_INFO_get_data_tla +++ b/Functions/VCS_Info/Backends/VCS_INFO_get_data_tla @@ -9,5 +9,5 @@ tlabase="$(VCS_INFO_realpath ${vcs_comm[basedir]})" rrn=${tlabase:t} # tree-id gives us something like 'foo@example.com/demo--1.0--patch-4', so: tlabranch=${${"$( ${vcs_comm[cmd]} tree-id )"}/*\//} -VCS_INFO_formats '' "${tlabranch}" "${tlabase}" '' '' +VCS_INFO_formats '' "${tlabranch}" "${tlabase}" '' '' '' '' return 0 diff --git a/Functions/VCS_Info/VCS_INFO_formats b/Functions/VCS_Info/VCS_INFO_formats index 72030cc..35b3b96 100644 --- a/Functions/VCS_Info/VCS_INFO_formats +++ b/Functions/VCS_Info/VCS_INFO_formats @@ -3,7 +3,24 @@ ## Distributed under the same BSD-ish license as zsh itself. setopt localoptions noksharrays NO_shwordsplit -local action=$1 branch=$2 base=$3 staged=$4 unstaged=$5 +local action=$1 branch=$2 base=$3 staged=$4 unstaged=$5 rev=$6 misc=$7 + +## description: +# action: a string that signals a certain non-default condition in the +# repository (like 'rebase-i' in git). If this in non-empty, +# the actionformats will be used, too. +# branch: the name of the currently checked out branch. +# base: the full name of the repository's root directory. +# staged: non-empty if the repository contains staged changes. +# unstaged: non-empty if the repository contains unstaged changes. +# rev: an identifier of the currently checked out revision. +# misc: a string that may contain anything the author likes. +# the backends should document what they put in it and when. +# +# If an argument has no valid value for a given backend, an empty value +# should be provided. eg: +# VCS_INFO_formats '' "${foobranch}" "${foobase}" '' '' '' "${foomisc}" + local msg local -i i j @@ -31,6 +48,8 @@ for i in {1..${#msgs}} ; do a:${action} \ b:${branch} \ c:${staged} \ + i:${rev} \ + m:${misc} \ r:${base:t} \ s:${vcs} \ u:${unstaged} \ -- 1.6.2.1.136.g8e24