ignorer par défaut les fichiers ayant l'extension .template

This commit is contained in:
Jephte CLAIN 2014-10-24 01:24:56 +04:00
parent 92f9b80cdd
commit e9d3897d15
3 changed files with 14 additions and 4 deletions

View File

@ -19,7 +19,8 @@ répertoire de référence appelé répertoire local, avant son déploiement.
Lister les templates disponibles.
-m, --merge
Copier les templates spécifiés dans le répertoire local s'il n'y
existent pas déjà
existent pas déjà. Les templates ayant l'extension '.template' doivent
être demandés explicitement. Sinon, ils sont ignorés.
-z, --unmerge
Supprimer les fichiers du répertoire local s'ils n'ont pas été modifiés
par rapport aux templates.

View File

@ -149,6 +149,8 @@ function template_merge() {
# Copier dans le répertoire destination $2 tous les fichiers provenant du
# répertoire source $1 correspondant aux spécifications $3..@, si ces fichiers
# n'ont pas été modifiés dans le répertoire de destination.
# Les fichiers sources ayant l'extension .template sont ignorés par défaut, sauf
# s'ils sonts demandés explicitement.
local srcdir="$1"; shift
__template_check_srcdir "$srcdir" || return 1
setx srcdir=abspath "$srcdir"
@ -161,9 +163,10 @@ function template_merge() {
local tmpfile; __template_setup_tmpfile
local spec srcspec src content dest
local spec template srcspec src content dest
local srcfiles
for spec in "$@"; do
setb template=[ "${spec%.template}" != "$spec" ]
setx srcspec=__template_prel_abspath "$spec"
if ! withinpath "$destdir" "$srcspec"; then
ewarn "$spec: fichier ignoré"
@ -174,10 +177,15 @@ function template_merge() {
[ -e "$srcdir$srcspec" ] || continue
ebegin "$(ppath "$destdir$srcspec")"
s=0
array_from_lines srcfiles "$(find "$srcdir$srcspec" -type f)"
if [ -n "$template" ]; then
array_from_lines srcfiles "$(find "$srcdir$srcspec" -type f)"
else
array_from_lines srcfiles "$(find "$srcdir$srcspec" -type f | grep -v '\.template$')"
fi
for src in "${srcfiles[@]}"; do
setx content=__template_fillvars "$src" "$tmpfile"
dest="$destdir/${src#$srcdir/}"
[ -n "$template" ] && dest="${dest%.template}"
if [ -L "$dest" ]; then
edotw 0 "LOCALLY MODIFIED: $(ppath "$dest")"

View File

@ -16,7 +16,8 @@ OPTIONS
Lister les templates disponibles.
-m, --merge
Copier les templates spécifiés dans le répertoire d'hôte s'il n'y
existent pas déjà
existent pas déjà. Les templates ayant l'extension '.template' doivent
être demandés explicitement. Sinon, ils sont ignorés.
-z, --unmerge
Supprimer les fichiers du répertoire d'hôte s'ils n'ont pas été modifiés
par rapport aux templates.