1tmp=() 2 3fn fatal { 4 if(! ~ $#tmp 0) 5 rm -f $tmp 6 echo $* >[1=2] 7 exit $"* 8} 9 10fn must { 11 $* || fatal $"*^': '^$status 12} 13 14fn need { 15 for(i) 16 if(~ $$i UNCONFIGURED) 17 fatal $name^' does not set $'^$i 18} 19 20opt=() 21while(! ~ $#* 0 && ~ $1 -*){ 22 if(~ $1 -s -c){ # take one argument 23 opt=($opt $1) 24 shift 25 } 26 opt=($opt $1) 27 shift 28} 29if(~ $1 --) 30 shift 31if(~ $#* 0) 32 usage 33name=$1 34shift 35paths=($*) 36 37if(! ~ $name /* ./* ../*) 38 name=$home/lib/replica/$name 39 40if(! test -x $name) 41 fatal no such replica $name 42 43cfgopt=() 44applyopt=() 45fn servermount { status='' } 46fn clientmount { status='' } 47fn serverupdate { status='' } 48for (i in clientroot clientproto clientdb clientexclude serverroot serverlog serverproto) 49 $i=UNCONFIGURED 50. $name 51 52if(! ~ $#serverexclude 0) 53 serverexclude=-x^$serverexclude 54if(! ~ $#clientexclude 0) 55 clientexclude=-x^$clientexclude 56