Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: [PATCH] vcs_info: %a to output number of all patches in (no)?patch-format styles



Seems like GMail split long lines in patch.

This patch on github:
https://github.com/stepancheg/zsh/commit/1fdb41aba960fe0ef362cd6863c1e91b8e28dd40

Raw patch: https://github.com/stepancheg/zsh/commit/1fdb41aba960fe0ef362cd6863c1e91b8e28dd40.patch

-- 
Stepan Koltsov


On Fri, Aug 17, 2012 at 7:12 AM, Stepan Koltsov
<stepan.koltsov@xxxxxxxxx> wrote:
> To generate string like "patch 1 of 4".
>
> Implemented for all of mq, stgit and quilt.
> ---
>  Doc/Zsh/contrib.yo                                |    1 +
>  Functions/VCS_Info/Backends/VCS_INFO_get_data_git |    7 ++++---
>  Functions/VCS_Info/Backends/VCS_INFO_get_data_hg  |    4 ++--
>  Functions/VCS_Info/VCS_INFO_quilt                 |    8 +++++---
>  4 files changed, 12 insertions(+), 8 deletions(-)
>
> diff --git a/Doc/Zsh/contrib.yo b/Doc/Zsh/contrib.yo
> index 139a681..24aafc3 100644
> --- a/Doc/Zsh/contrib.yo
> +++ b/Doc/Zsh/contrib.yo
> @@ -1003,6 +1003,7 @@ sitem(tt(%p))(The name of the top-most applied
> patch (tt(applied-string)).)
>  sitem(tt(%u))(The number of unapplied patches (tt(unapplied-string)).)
>  sitem(tt(%n))(The number of applied patches.)
>  sitem(tt(%c))(The number of unapplied patches.)
> +sitem(tt(%a))(The number of all patches.)
>  sitem(tt(%g))(The names of active tt(mq) guards (tt(hg) backend).)
>  sitem(tt(%G))(The number of active tt(mq) guards (tt(hg) backend).)
>  endsitem()
> diff --git a/Functions/VCS_Info/Backends/VCS_INFO_get_data_git
> b/Functions/VCS_Info/Backends/VCS_INFO_get_data_git
> index 9364fd0..e40571a 100644
> --- a/Functions/VCS_Info/Backends/VCS_INFO_get_data_git
> +++ b/Functions/VCS_Info/Backends/VCS_INFO_get_data_git
> @@ -129,12 +129,13 @@ rrn=${gitbase:t}
>
>  local patchdir=${gitdir}/patches/${gitbranch}
>  if [[ -d $patchdir ]] ; then
> -    local -a stgit_applied stgit_unapplied
> +    local -a stgit_applied stgit_unapplied stgit_all
>
>      stgit_applied=(${(f)"$(< "${patchdir}/applied")"})
>      stgit_applied=( ${(Oa)stgit_applied} )
>      stgit_unapplied=(${(f)"$(< "${patchdir}/unapplied")"})
>      stgit_unapplied=( ${(oa)stgit_unapplied} )
> +    stgit_all=( ${(Oa)stgit_applied} ${stgit_unapplied} )
>
>      if VCS_INFO_hook 'gen-applied-string' "${stgit_applied[@]}"; then
>          if (( ${#stgit_applied} )); then
> @@ -158,10 +159,10 @@ if [[ -d $patchdir ]] ; then
>          zstyle -s ":vcs_info:${vcs}:${usercontext}:${rrn}"
> nopatch-format stgitmsg || stgitmsg="no patch applied"
>      fi
>      hook_com=( applied "${stgitpatch}"     unapplied "${stgitunapplied}"
> -               applied-n ${#stgit_applied} unapplied-n ${#stgit_unapplied} )
> +               applied-n ${#stgit_applied} unapplied-n
> ${#stgit_unapplied} all-n ${#stgit_all} )
>      if VCS_INFO_hook 'set-patch-format' "${stgitmsg}"; then
>          zformat -f stgitmsg "${stgitmsg}" "p:${hook_com[applied]}"
> "u:${hook_com[unapplied]}" \
> -                                          "n:${#stgit_applied}"
> "c:${#stgit_unapplied}"
> +                                          "n:${#stgit_applied}"
> "c:${#stgit_unapplied}" "a:${#stgit_all}"
>      else
>          stgitmsg=${hook_com[patch-replace]}
>      fi
> diff --git a/Functions/VCS_Info/Backends/VCS_INFO_get_data_hg
> b/Functions/VCS_Info/Backends/VCS_INFO_get_data_hg
> index a1b87f5..48e385c 100644
> --- a/Functions/VCS_Info/Backends/VCS_INFO_get_data_hg
> +++ b/Functions/VCS_Info/Backends/VCS_INFO_get_data_hg
> @@ -213,13 +213,13 @@ if zstyle -T
> ":vcs_info:${vcs}:${usercontext}:${rrn}" get-mq \
>      fi
>
>      hook_com=( applied "${applied_string}" unapplied "${unapplied_string}"
> -               applied-n ${#mqpatches}     unapplied-n ${#mqunapplied}
> +               applied-n ${#mqpatches}     unapplied-n
> ${#mqunapplied}     all-n ${#mqseries}
>                 guards "${guards_string}"   guards-n ${#mqguards} )
>
>      if VCS_INFO_hook 'set-patch-format' ${qstring}; then
>          zformat -f hgmqstring "${hgmqstring}" \
>              "p:${hook_com[applied]}" "u:${hook_com[unapplied]}" \
> -            "n:${#mqpatches}" "c:${#mqunapplied}" \
> +            "n:${#mqpatches}" "c:${#mqunapplied}" "a:${#mqseries}" \
>              "g:${hook_com[guards]}" "G:${#mqguards}"
>      else
>          hgmqstring=${hook_com[patch-replace]}
> diff --git a/Functions/VCS_Info/VCS_INFO_quilt
> b/Functions/VCS_Info/VCS_INFO_quilt
> index fc127c2..7001eca 100644
> --- a/Functions/VCS_Info/VCS_INFO_quilt
> +++ b/Functions/VCS_Info/VCS_INFO_quilt
> @@ -89,7 +89,7 @@ function VCS_INFO_quilt() {
>      local patches pc tmp qstring root
>      local -i ret
>      local -x context
> -    local -a applied unapplied applied_string unapplied_string quiltcommand
> +    local -a applied unapplied all applied_string unapplied_string quiltcommand
>      local -Ax hook_com
>
>      context=":vcs_info:${vcs}.quilt-${mode}:${usercontext}:${rrn}"
> @@ -142,6 +142,8 @@ function VCS_INFO_quilt() {
>          unapplied=()
>      fi
>
> +    all=( ${(Oa)applied} ${unapplied} )
> +
>      if VCS_INFO_hook 'gen-applied-string' "${applied[@]}"; then
>          if (( ${#applied} )); then
>              applied_string=${applied[1]}
> @@ -164,10 +166,10 @@ function VCS_INFO_quilt() {
>          zstyle -s "${context}" nopatch-format qstring || qstring="no
> patch applied"
>      fi
>      hook_com=( applied "${applied_string}" unapplied "${unapplied_string}"
> -               applied-n ${#applied}       unapplied-n ${#unapplied} )
> +               applied-n ${#applied}       unapplied-n ${#unapplied}
>      all-n ${#all} )
>      if VCS_INFO_hook 'set-patch-format' ${qstring}; then
>          zformat -f qstring "${qstring}" "p:${hook_com[applied]}"
> "u:${hook_com[unapplied]}" \
> -                                        "n:${#applied}" "c:${#unapplied}"
> +                                        "n:${#applied}"
> "c:${#unapplied}" "a:${#all}"
>      else
>          qstring=${hook_com[patch-replace]}
>      fi
> --
> 1.7.9.6 (Apple Git-31.1)



Messages sorted by: Reverse Date, Date, Thread, Author