Plan 9 from Bell Labs’s /usr/web/sources/contrib/nemo/sys/src/cmd/repl/sync

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


#!/bin/rc


fn usage {
	echo 'usage: repl/sync [-lr12n]  repl1 repl2 [dir...]' >[1=2]
	exit usage
}

doscan=yes
opt=()
while(! ~ $#* 0 && ~ $1 -*){
	switch($1){
	case -N
		doscan=no
	case *
		opt=($opt $1)
	}
	shift
}
if(~ $1 --)
	shift
if (~ $#1 0 || ~ $#2 0)
	usage

if (test -x $1)
	. $1
if not
	if (test -x $home/lib/repl/$1)
		. $home/lib/repl/$1
	if not {
		if (test -x /lib/repl/$1)
			. /lib/repl/$1
		if not {
			echo 'no such replica: '^$1 >[1=2]
			exit bad1
		}
	}
db1=$db
dir1=$dir

if (test -x $2)
	. $2
if not
	if (test -x $home/lib/repl/$2)
		. $home/lib/repl/$2
	if not {
		if (test -x /lib/repl/$2)
			. /lib/repl/$2
		if not {
			echo 'no such replica: '^$2 >[1=2]
			exit bad2
		}
	}
db2=$db
dir2=$dir

if (~ $doscan yes){
	echo scanning $1
	if (! repl/scandb  $excl $dir1 $db1){
		echo scan failed for $1 >[1=2]
		exit scan1
	}
	echo scanning $2
	if (! repl/scandb  $excl $dir2 $db2){
		echo scan failed for $2 >[1=2]
		exit scan2
	}
}

shift ; shift

echo syncing
repl/syncdb -v $opt $dir1 $dir2 $db1 $db2 $*

exit ''

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.