ajout de l'option NOMERGES pour ne pas tenter de fusionner avec git des fichiers binaires
This commit is contained in:
parent
4f7cb900d2
commit
96c146e0c5
39
pff
39
pff
|
@ -29,6 +29,7 @@ PFFCONFVARS=(
|
||||||
"PROTECTS=//Fichiers locaux à protéger lors de l'intégration e.g /dir/, /file, etc."
|
"PROTECTS=//Fichiers locaux à protéger lors de l'intégration e.g /dir/, /file, etc."
|
||||||
"MKDIRS//Répertoires qui doivent toujours exister"
|
"MKDIRS//Répertoires qui doivent toujours exister"
|
||||||
"FILTERS//Filtres appliqués aux fichiers lors de l'intégration"
|
"FILTERS//Filtres appliqués aux fichiers lors de l'intégration"
|
||||||
|
"NOMERGES=//Fichiers qu'il ne faut pas chercher à fusionner"
|
||||||
)
|
)
|
||||||
|
|
||||||
if [ "$#" -eq 1 -a "$1" == --nutools-makelinks ]; then
|
if [ "$#" -eq 1 -a "$1" == --nutools-makelinks ]; then
|
||||||
|
@ -447,6 +448,27 @@ function get_vlfiles() {
|
||||||
get_vlfiles_nostrip "$@" | sed "s|^$pffdir/pff/$profile/||"
|
get_vlfiles_nostrip "$@" | sed "s|^$pffdir/pff/$profile/||"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function is_nomerge() {
|
||||||
|
local file="$1" pffdir="$2"
|
||||||
|
local nomerge rfile
|
||||||
|
setx rfile=get_rfile "$file" "$pffdir"
|
||||||
|
setx file=basename -- "$rfile" # utilisé pour le match sur le nom du fichier
|
||||||
|
for nomerge in "${NOMERGES[@]}"; do
|
||||||
|
if [[ "$nomerge" == */* ]]; then
|
||||||
|
# matcher sur le chemin relatif
|
||||||
|
if eval "[[ $(qval "$rfile") == $(qwc "$nomerge") ]]"; then
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# matcher uniquement sur le nom du fichier
|
||||||
|
if eval "[[ $(qval "$file") == $(qwc "$nomerge") ]]"; then
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
function sync_vlfiles() {
|
function sync_vlfiles() {
|
||||||
# synchroniser les fichiers de version $3..@ dans tous les répertoires de
|
# synchroniser les fichiers de version $3..@ dans tous les répertoires de
|
||||||
# profil, ou seulement le répertoire de profil $2 si la valeur n'est pas
|
# profil, ou seulement le répertoire de profil $2 si la valeur n'est pas
|
||||||
|
@ -986,6 +1008,15 @@ function patch_cmd() {
|
||||||
have_base_vlfiles=
|
have_base_vlfiles=
|
||||||
for profile in "${profiles[@]}"; do
|
for profile in "${profiles[@]}"; do
|
||||||
array_from_lines vlfiles "$(get_vlfiles_nostrip "$pffdir" "" "$profile" "$version")"
|
array_from_lines vlfiles "$(get_vlfiles_nostrip "$pffdir" "" "$profile" "$version")"
|
||||||
|
# filtrer les fichiers de NOMERGES
|
||||||
|
mergefiles=()
|
||||||
|
for vlfile in "${vlfiles[@]}"; do
|
||||||
|
setx rfile=get_rfile "${vlfile%__pv-${version}__}" "$pffdir"
|
||||||
|
is_nomerge "$rfile" "$pffdir" && continue
|
||||||
|
array_add mergefiles "$vlfile"
|
||||||
|
done
|
||||||
|
vlfiles=("${mergefiles[@]}")
|
||||||
|
# on en a trouvé
|
||||||
if [ ${#vlfiles[*]} -gt 0 ]; then
|
if [ ${#vlfiles[*]} -gt 0 ]; then
|
||||||
have_profile_vlfiles=1
|
have_profile_vlfiles=1
|
||||||
break
|
break
|
||||||
|
@ -993,6 +1024,14 @@ function patch_cmd() {
|
||||||
done
|
done
|
||||||
[ -n "$have_profile_vlfiles" ] && break
|
[ -n "$have_profile_vlfiles" ] && break
|
||||||
array_from_lines vlfiles "$(get_vlfiles_nostrip "$pffdir" "" Base "$version")"
|
array_from_lines vlfiles "$(get_vlfiles_nostrip "$pffdir" "" Base "$version")"
|
||||||
|
# filtrer les fichiers de NOMERGES
|
||||||
|
mergefiles=()
|
||||||
|
for vlfile in "${vlfiles[@]}"; do
|
||||||
|
setx rfile=get_rfile "${vlfile%__pv-${version}__}" "$pffdir"
|
||||||
|
is_nomerge "$rfile" "$pffdir" && continue
|
||||||
|
array_add mergefiles "$vlfile"
|
||||||
|
done
|
||||||
|
vlfiles=("${mergefiles[@]}")
|
||||||
have_base_vlfiles=1
|
have_base_vlfiles=1
|
||||||
break
|
break
|
||||||
done
|
done
|
||||||
|
|
Loading…
Reference in New Issue