mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-01-04 06:14:50 +01:00
PATCH: 34333: vcs_info quilt: fix unapplied detection in subdir
When patches are applied, let quilt use .pc without forcing the patch directory, this will fix the unapplied detection when being in subdir. When no patches are applied, use zstyle quilt-patch-dir then QUILT_PATCHES then "patches" for path to search for patches. Note: prefer setting quilt-patch-dir rather than QUILT_PATCHES for absolute path because when patches are applied, quilt unapplied will not return the correct list (i.e. the whole list rather that the one specified by .pc/.quilt_series).
This commit is contained in:
parent
102f2aec1e
commit
9ea817acda
2 changed files with 22 additions and 13 deletions
|
@ -1,3 +1,8 @@
|
|||
2015-01-22 Marc Finet <m.dreadlock@gmail.com>
|
||||
|
||||
* Functions/VCS_Info/VCS_INFO_quilt: PATCH: 34333: vcs_info quilt:
|
||||
fix unapplied detection in subdir
|
||||
|
||||
2015-01-22 Jun-ichi Takimoto <takimoto-j@kba.biglobe.ne.jp>
|
||||
|
||||
* 34327: _perl_modules: fix cache identifier used in
|
||||
|
|
|
@ -87,7 +87,7 @@ function VCS_INFO_quilt() {
|
|||
local patches pc tmp qstring root
|
||||
local -i ret
|
||||
local -x context
|
||||
local -a applied unapplied all applied_string unapplied_string quiltcommand
|
||||
local -a applied unapplied all applied_string unapplied_string quiltcommand quilt_env
|
||||
local -Ax hook_com
|
||||
|
||||
context=":vcs_info:${vcs}.quilt-${mode}:${usercontext}:${rrn}"
|
||||
|
@ -105,17 +105,6 @@ function VCS_INFO_quilt() {
|
|||
;;
|
||||
esac
|
||||
|
||||
zstyle -s "${context}" quilt-patch-dir patches || patches="${QUILT_PATCHES}"
|
||||
if [[ "${patches}" != /* ]]; then
|
||||
tmp=${patches:-patches}
|
||||
patches="$(VCS_INFO_quilt-dirfind "${tmp}")"
|
||||
ret=$?
|
||||
(( ret )) && return ${ret}
|
||||
patches=${patches}/${tmp}
|
||||
else
|
||||
[[ -d ${patches} ]] || return 1
|
||||
fi
|
||||
|
||||
pc="$(VCS_INFO_quilt-dirfind .pc .version)"
|
||||
ret=$?
|
||||
if (( ret == 0 )); then
|
||||
|
@ -129,12 +118,27 @@ function VCS_INFO_quilt() {
|
|||
else
|
||||
applied=()
|
||||
fi
|
||||
patches=$(<$pc/.quilt_patches)
|
||||
fi
|
||||
if zstyle -t "${context}" get-unapplied; then
|
||||
# This zstyle call needs to be moved further up if `quilt' needs
|
||||
# to be run in more places than this one.
|
||||
zstyle -s "${context}" quiltcommand quiltcommand || quiltcommand='quilt'
|
||||
unapplied=( ${(f)"$(QUILT_PATCHES=$patches $quiltcommand --quiltrc /dev/null unapplied 2> /dev/null)"} )
|
||||
quilt_env=(env)
|
||||
if [ -z "$patches" ]; then
|
||||
zstyle -s "${context}" quilt-patch-dir patches || patches="${QUILT_PATCHES}"
|
||||
if [[ "${patches}" != /* ]]; then
|
||||
tmp=${patches:-patches}
|
||||
patches="$(VCS_INFO_quilt-dirfind "${tmp}")"
|
||||
ret=$?
|
||||
(( ret )) && return ${ret}
|
||||
patches=${patches}/${tmp}
|
||||
else
|
||||
[[ -d ${patches} ]] || return 1
|
||||
fi
|
||||
quilt_env+=(QUILT_PATCHES="$patches")
|
||||
fi
|
||||
unapplied=( ${(f)"$(${quilt_env[@]} $quiltcommand --quiltrc /dev/null unapplied 2> /dev/null)"} )
|
||||
unapplied=( ${unapplied:#} )
|
||||
else
|
||||
unapplied=()
|
||||
|
|
Loading…
Reference in a new issue