Home | History | Annotate | Line # | Download | only in dist
move-if-change revision 1.1
      1  1.1  mrg #!/bin/sh
      2  1.1  mrg # Like mv $1 $2, but if the files are the same, just delete $1.
      3  1.1  mrg # Status is zero if successful, nonzero otherwise.
      4  1.1  mrg 
      5  1.1  mrg usage="$0: usage: $0 SOURCE DEST"
      6  1.1  mrg 
      7  1.1  mrg case $# in
      8  1.1  mrg 2) ;;
      9  1.1  mrg *) echo "$usage" >&2; exit 1;;
     10  1.1  mrg esac
     11  1.1  mrg 
     12  1.1  mrg for arg in "$1" "$2"; do
     13  1.1  mrg   case $arg in
     14  1.1  mrg    -*) echo "$usage" >&2; exit 1;;
     15  1.1  mrg   esac
     16  1.1  mrg done
     17  1.1  mrg 
     18  1.1  mrg if test -r "$2" && cmp -s "$1" "$2"; then
     19  1.1  mrg   rm -f "$1"
     20  1.1  mrg else
     21  1.1  mrg   mv -f "$1" "$2"
     22  1.1  mrg fi
     23