#!/bin/bash
# Copyright (c) Haiko Puhlmann. Beratung + Konzeption
#               EDV-Systeme und -Kommunikation

##set -x

if [ $# -ne 1 ]
then
  echo usage: $0 \<filename\>
  exit 1;
fi

FILENAME=$(readlink -f $1)

if [ -h $1 ];
then
  echo ERROR: \'$1\' is a symbolic link - please edit \'$FILENAME\' directly!
  exit 2;
fi

DIRNAME=$(dirname $FILENAME)
BASENAME=$(basename $FILENAME)

case $DIRNAME in
  /var/www*) ;;
  *) RCS_MODE="RCS_DIR" ;;
esac

if [[ $RCS_MODE = "RCS_DIR" ]]
then
  RCS_PATH=$DIRNAME/RCS
  ALT_PATH=$DIRNAME
else
  RCS_PATH=$DIRNAME
  ALT_PATH=$DIRNAME/RCS
fi

if [ ! -e $RCS_PATH ];
then
  mkdir $RCS_PATH;
fi

if ls $ALT_PATH/*,v >/dev/null 2>&1;
then
  mv $ALT_PATH/*,v $RCS_PATH/;
fi

if [ -e $1 ] && [ ! -e $RCS_PATH/$BASENAME,v ];
then
  /usr/bin/ci -l -t-original $1;
fi

/usr/bin/vi $1

if [ -e $1 ];
then
  /usr/bin/ci -l $1;
fi

if [ -e $DIRNAME/RCS ] && [ $(ls -A $DIRNAME/RCS | wc -w) -eq 0 ];
then
  rm -r $DIRNAME/RCS;
fi

