#!/bin/csh
#######################################################################################################################################
# #
# R E N V O I A L A M A C H I N E D E R E F E R E N C E D ' U N F I C H I E R : #
# #
# #
# Utilisation : #
# #
# $xcg/unite$Z <nom_absolu_de_fichier> [<attendre> [<detruire> [<mRef> [<uRef> [<ModeD> [<ModeF>]]]]]] #
# #
# ou : #
# #
# $xcg/unite$Z "<fA_absolu> <fR_absolu>" [<attendre> [<detruire> [<mRef> [<uRef> [<ModeD> [<ModeF>]]]]]] #
# $xcg/unite$Z "<fA_absolu> <fR_absolu>" [<attendre> [<detruire> [<mRef> [<uRef> ["<ModeD>" ["<ModeF>"]]]]]] #
# #
# #
# ATTENTION : #
# #
# Le mode du fichier que l'on transmet ne #
# sera conserve sur la machine de REFERENCE #
# que s'il n'y existait pas deja. Ainsi donc, #
# pour transmettre le fichier avec son mode, il #
# convient de detruire celui-ci au prealable sur #
# la machine de REFERENCE (par 'delete'), s'il #
# existait deja. #
# #
# On notera enfin, que s'il etait en mode 'ro' #
# sur la machine de REFERENCE, la commande courante #
# '$xcg/unite$Z' se met en attente ; le deblocage a #
# lieu si : #
# #
# 1-soit le fichier est mis en mode 'rw' sur la machine #
# de REFERENCE (auquel cas, la nouvelle version sera aussi #
# en mode 'rw', et le mode n'est pas transmis, sauf s'il #
# etait deja en mode 'rw' sur la machine locale qui execute #
# la commande '$xcg/unite$Z'...), #
# #
# 2-soit le fichier est detruit (par 'delete', et alors #
# le mode est transmis...). #
# #
# #
# Author of '$xcg/unite$Z' : #
# #
# Jean-Francois Colonna (LACTAMME, AAAAMMJJhhmmss). #
# #
#######################################################################################################################################
set Fichiers=($1)
#20180205133056____:if ($vCOMPUTERd == $mHOTE) then #
#20181101141033____:if ($EXIST) then #
# Test introduit le 20160610110059 a cause des "fausses MACHINEs" de type '$CMAP28'... #
# #
# Grace a 'v $xarm/LACT19$D/etc/init.d/iptables porte-brancion' (par exemple...), la #
# modification du 20180205133056 a ete rendue possible... #
#20181101141033____: set Attendre=$2 #
#20181101141033____: set Detruire=$3 #
#20181101141033____: set mReference=$4 #
#20181101141033____: set uReference=$5 #
#20181101141033____: set ModeDirectory=($6) #
#20181101141033____: set ModeFichierR=($7) #
#20181101141033____: if ("$mReference" == "$K_VIDE") then #
#20181101141033____: set mReference=$mREFERENCE #
# La machine de REFERENCE par defaut est evidemment '$mREFERENCE'... #
#20181101141033____: else #
#20181101141033____: endif #
#20181101141033____: if ("$uReference" == "$K_VIDE") then #
#20181101141033____: set uReference=$uREFERENCE #
# L'utilisateur de REFERENCE par defaut est evidemment '$uREFERENCE'... #
#20181101141033____: else #
#20181101141033____: endif #
#20181101141033____: source $Falias_unite_1 #
# Execution de l'unite... #
#20181101141033____:else #
#20181101141033____: EROR "Il ne peut y avoir d'unite du(des) fichier(s) '$Fichiers' sur '$vCOMPUTERd'." #
# En effet, en general, les filtres sur les adresses 'IP' empechent cela... #
#20181101141033____:endif #
unite $Fichiers
# Mis sous cette forme "apauvrie" le 20181101141033 afin de ne pas provoquer de blocage #
# ou de delais lors de calculs faisant reference a ce 'v $xcg/unite$Z', alors que #
# '$mREFERENCE' n'est pas accessible... Cela s'est vu aux environs de cette date lors du #
# calcul des images du type 'v $xiirk/REFM.e3.21' par exemple dans #
# 'v $xivP_d09_f2/.REFL.y.11.$U .xcg.unite.Z' ou encore dans #
# 'v $xivP_d09_f2/.REFL.y.12.$U .xcg.unite.Z'... #