Intégration de la branche update-pff

This commit is contained in:
Jephté Clain 2018-02-07 12:32:54 +04:00
commit f0ae5ae118
1 changed files with 22 additions and 2 deletions

24
pff
View File

@ -98,6 +98,16 @@ non. Les autres fichiers qui proviennent de la distribution sont appelés
extension particulière pour indiquer qu'ils sont modifiables sont appelés
'fichiers origine'.
Les fichiers sont classés dans des profils spécifiques. Les profils reconnus
sont:
- Base est le profil des fichiers upstream non modifiés. Les fichiers origine
sont intégrés dans ce profil.
- Common est le profil des fichiers upstream modifiés. Tous les fichiers
devraient être modifiés dans ce profil.
- Les autres profils sont basés sur Common en priorité puis sur Base en cas de
non existence dans Common. Il peut s'agir de profils comme prod ou test, qui
contiennent des modifications spécifiques à différents cas d'utilisation.
USAGE
$scriptname [options]
@ -163,7 +173,7 @@ supportées sont:
-a, --add-global FILES...
Ajouter/Identifier un fichier comme un fichier local pour tous les
profils.
profils. Le fichier est copié dans le profil Base.
-L, --locals [WORKDIR]
Lister les fichiers locaux
@ -189,6 +199,7 @@ supportées sont:
# pfile: le chemin absolu du fichier dans le projet
# rfile: le chemin relatif du fichier dans le projet
# bfile: le chemin absolu du fichier dans pff/Base/
# Cfile: le chemin absolu du fichier dans pff/Common/
# cfile: le chemin absolu du fichier dans pff/Current/
# Pfile: le chemin absolu du fichier dans pff/ANYPROFILE/
# plink: la destination du lien pfile
@ -302,6 +313,7 @@ function get_pfile() {
echo "$pffdir/pff/$profile/$pfile"
}
function get_bfile() { get_pfile "$1" Base "$2"; }
function get_Cfile() { get_pfile "$1" Common "$2"; }
function get_cfile() { get_pfile "$1" Current "$2"; }
function get_vlfiles() {
@ -364,6 +376,8 @@ function select_profile() {
src="$pffdir/pff/Current/$lfile"
if [ -f "$pffdir/pff/$profile/$lfile" ]; then
dest="$profile/$lfile"
elif [ "$profile" != Common -a -f "$pffdir/pff/Common/$lfile" ]; then
dest="Common/$lfile"
else
dest="Base/$lfile"
fi
@ -870,8 +884,14 @@ function add_local__link() {
setx Pfile=get_pfile "$pfile" "$profile" "$pffdir"
[ -e "$Pfile" ] && return 0
# créer le fichier local
setx Cfile=get_Cfile "$pfile" "$pffdir"
mkdirof "$Pfile"
cp "$bfile" "$Pfile"
if [ -e "$Cfile" ]; then
# copier depuis le profil Common par défaut
cp "$Cfile" "$Pfile"
else
cp "$bfile" "$Pfile"
fi
# mettre à jour le profil courant
setx cfile=get_cfile "$pfile" "$pffdir"
setx clink=multiups "Current/$rfile" "$profile/$rfile"