Intégration de la branche update-pff
This commit is contained in:
		
						commit
						7583dedaea
					
				
							
								
								
									
										39
									
								
								pff
									
									
									
									
									
								
							
							
						
						
									
										39
									
								
								pff
									
									
									
									
									
								
							| @ -29,6 +29,7 @@ PFFCONFVARS=( | ||||
|     "PROTECTS=//Fichiers locaux à protéger lors de l'intégration e.g /dir/, /file, etc." | ||||
|     "MKDIRS//Répertoires qui doivent toujours exister" | ||||
|     "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 | ||||
| @ -447,6 +448,27 @@ function get_vlfiles() { | ||||
|     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() { | ||||
|     # 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 | ||||
| @ -986,6 +1008,15 @@ function patch_cmd() { | ||||
|             have_base_vlfiles= | ||||
|             for profile in "${profiles[@]}"; do | ||||
|                 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 | ||||
|                     have_profile_vlfiles=1 | ||||
|                     break | ||||
| @ -993,6 +1024,14 @@ function patch_cmd() { | ||||
|             done | ||||
|             [ -n "$have_profile_vlfiles" ] && break | ||||
|             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 | ||||
|             break | ||||
|         done | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user