#!/bin/csh -f

switch (`uname -s``uname -r`)
case SunOS5*:
    set ECHON = "/usr/ucb/echo -n"
	breaksw
case Linux*:
    set ECHON = "/bin/echo -n"
	breaksw
default:
	exec echo ${0}: does not run on `uname -s` `uname -r`
endsw

set DEBUG

while($#argv)
	switch ("$1")
	case -d:
		set DEBUG = "/bin/echo"
#		shift
#		breaksw
# fall through to verbose
	case -v:
		set VERBOSE
		shift
		breaksw
	default:
	    if (! $?FILE1 && -e "$1") then
		set FILE1 = "$1"
		shift
		breaksw
	    else if (! $?FILE2 && -e "$1") then
		set FILE2 = "$1"
		shift
		breaksw
	    endif
		set DQ = '"'
		exec echo ${0}: "What do I do with $DQ$1$DQ?"
	endsw
end

if (! $?FILE1) exec echo usage: "[-v|-d] <file1> <file2>"
if (! $?FILE2) then
    if (-e ${FILE1}n) then
#	$ECHON "switch $FILE1 and ${FILE1}n? "
#	set IN = $<
#	if ("$IN" != "Y" && "$IN" != "y") exec echo usage: "[-v|-d] <file1> <file2>"
	set FILE2 = ${FILE1}n
	set CONFIRM
    else
	exec echo usage: "[-v|-d] <file1> <file2>"
    endif
endif

if ($?VERBOSE || $?CONFIRM) echo `date +%T` Switching "$FILE1" and "$FILE2"

set FILE3 = "$FILE1".$$.`date +%y%m%d`
while (-e $FILE3)
    echo Potential intermediate file, $FILE3, exists.  Trying another name.
    sleep 1
    set FILE3 = "$FILE1".$$.`date +%y%m%d`
end

if ("$DEBUG" != "") echo `date +%T` Intermediate file is $FILE3

if ($?VERBOSE) echo `date +%T` /bin/mv $FILE1 $FILE3
$DEBUG /bin/mv $FILE1 $FILE3
if ($?VERBOSE) echo `date +%T` /bin/mv $FILE2 $FILE1
$DEBUG /bin/mv $FILE2 $FILE1
if ($?VERBOSE) echo `date +%T` /bin/mv $FILE3 $FILE2
$DEBUG /bin/mv $FILE3 $FILE2
