Я извлек файл из репозитория CVS и изменил его.
cvs up
команда говорит, что файл изменен M
.
Мне нужно удалить свои изменения. Какая команда cvs может сделать это за меня?
Я извлек файл из репозитория CVS и изменил его.
cvs up
команда говорит, что файл изменен M
.
Мне нужно удалить свои изменения. Какая команда cvs может сделать это за меня?
Ты используешь
cvs update -C filename
-r revision
и указать желаемую версию.
- person Gerard; 25.04.2013
Это на удивление сложно сделать. В итоге мы использовали этот скрипт "cvsunedit". Я признаю, что выглядит излишним, но в резюме есть вещи, которые сделать сложнее, чем следовало бы.
#!/bin/bash
# cvsunedit - revert a file's 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
cvs up
, разве это не восстановит его? И в SVN тоже есть команда возврата, разве не в CVS? - person ppeterka   schedule 29.03.2013