Подтвердить что ты не робот

Как мне вернуть измененный файл с помощью CVS?

Я проверил файл из репозитория CVS и изменил его.

cvs up говорит, что файл изменен M.

Мне нужно удалить мои изменения. Что команда cvs может сделать это для меня?

4b9b3361

Ответ 1

Вы используете

cvs update -C filename

Ответ 2

Это удивительно сложно сделать. В итоге мы использовали этот скрипт "cvsunedit". Я признаю, что это выглядит излишне, но в cvs есть вещи, которые сделать сложнее, чем следовало бы.

#!/bin/bash
# cvsunedit - revert a file modifications while preserving its current version
set -e
if [ "$1" = "" ]
then
    exit 0
fi
for f in $*
do
    echo "$f"
    base="$(basename "$f")"
    dir="$(dirname "$f")"
    rev="$(perl -e "while(<>){m#/$base/([^/]+)/# && print \$1 . \"\n\";}" < "$dir/CVS/Entries")"
    if [ "$rev" = "" ]
    then
        echo "Cannot find revision for $f in $dir/CVS/Entries"
        exit 1
    fi

    executable=0
    [ -x "$f" ] && executable=1

    mv "$f" "$f.$$.rev$rev.bak" || rm -f "$f"

    set -x
    cvs up -p -r "$rev" "$f" > "$f"
    set +x
    chmod -w "$f"
    [ $executable -ne 0 ] && chmod aog+x "$f"
done
exit 0