diff options
Diffstat (limited to 'rvi')
-rwxr-xr-x | rvi | 20 |
1 files changed, 12 insertions, 8 deletions
@@ -13,25 +13,29 @@ if ! [ -e "$1,v" ] && ! [ -e "$DN/RCS/$BN,v" ] ; then fi owner=`stat -c "%u:%g" $1` -rcsdiff -u $1 +rcsdiff -u "$1" if [ $? -ne 0 ] ; then - rcsdiff $1 > $1.rvi.diff + rcsdiff "$1" > "$1.rvi.diff" echo echo "Differences detected" echo "run 'co $1' to overwrite with last committed version" echo "or 'co -l $1; patch $1 < $1.rvi.diff; ci -u $1; chown $owner $1' to commit" exit 1 fi -rm -f $1.rvi.diff +rm -f "$1.rvi.diff" -co -l $1 +co -l "$1" if [ $? -ne 0 ] ; then echo "Check out failed." echo "Maybe someone else is currently editing this file." echo "Aborting rvi." exit 1 fi -chown $owner $1 -/usr/bin/vim $1 -ci -u $1 -chown $owner $1 +if [ "$(id -u)" = "0" ]; then + chown "$owner" "$1" +fi +/usr/bin/vim "$1" +ci -u "$1" +if [ "$(id -u)" = "0" ]; then + chown "$owner" "$1" +fi |