diff --git a/bbnurse b/bbnurse index 07078a9..ccb687b 100755 --- a/bbnurse +++ b/bbnurse @@ -55,6 +55,7 @@ function copy_mature() { destpackage='nulib' fi + [ -n "$Dest" ] || Dest=. setx Dest=abspath "$Dest" if [[ "$Dest" == */nulib ]]; then libname=nulib @@ -116,6 +117,31 @@ function copy_mature() { esac } +function nulib_sync_mature() { + [ -n "$Dest" ] || Dest="$MYDIR/../nulib" + setx Dest=abspath "$Dest" + if ! [[ "$Dest" == */nulib ]]; then + die "seul la maturation vers nulib est autorisée" + fi + local srcdir="$MYDIR" + local destdir="$Dest/php" + local -a srcs src srcname dest + + estep "Synchronisation des fichiers" + rsync -a "$srcdir/src/" "$destdir/src/" --exclude /wip/ --delete + rsync -a "$srcdir/tests/" "$destdir/tests/" --exclude /wip/ --delete + + estep "Mise à jour des packages" + setx -a dests=find "$destdir/src/" -type f + for dest in "${dests[@]}"; do + sed -i 's|nur\\sery|nulib|g' "$dest" + done + setx -a dests=find "$destdir/tests/" -type f + for dest in "${dests[@]}"; do + sed -i 's|nur\\sery|nulib|g' "$dest" + done +} + function update_nurse() { : } @@ -161,8 +187,8 @@ Pour chaque type d'évolution, il y a deux actions possibles: -u,--update action=update "Mettre à jour un projet. C'est l'option par défaut" -i,-n,--nurse evolution=nurse "Mettre en nurserie" -x,-m,--mature evolution=mature "Arriver à maturation. C'est l'option par défaut" + --sm '$action=nulib_sync; evolution=mature' "Maturation complète vers nulib. Equivalent à '-cm nur/sery -d ../nulib' mais omet le package nur\\sery\\wip" ) parse_args "$@"; set -- "${args[@]}" -[ -n "$Dest" ] || Dest=. "${action}_${evolution}" "$@" diff --git a/nur_src/b/io/TmpfileWriter.php b/nur_src/b/io/TmpfileWriter.php index d24588d..4f95ed7 100644 --- a/nur_src/b/io/TmpfileWriter.php +++ b/nur_src/b/io/TmpfileWriter.php @@ -1,7 +1,7 @@