svn diff file.c
, предназначенной для просмотра локальных изменений в файле file.c, строка cleartool diff -pre -dif file.c
кажется слишком неудобной. И что самое главное — командой cleartool diff нельзя просмотреть изменения в нескольких файлах одновременно.Но у меня есть волшебный скрипт, который неожиданно оказался вполне расширяемым :)
Итак, мне нужна простая команда diff, которая мне покажет локальные изменения для одного или нескольких файлов. Назовем ее
sdiff
и добавим в парсер аргументов скрипта:
case "$1" in
sdiff) shift; sdiff $*;;
status) shift; status $*;;
*) $CT $*;;
esac
Теперь нужно создать функцию sdiff(), которая бы выводила изменения для всех переданных в командной строке имен файлов:
sdiff()
{
if [ 0 = $# ]; then
echo "ERROR: at least one argument should be passed."
exit 1
fi
for T in $*; do
echo "Index: $T"
echo "---------------------------------------------"
$CT diff -dif -pre $T
echo
done
}
Ну, вот и все. Синтаксис новой команды такой:
ct sdiff pname [pname ...]
где pname — имя файла или директории.
Комментариев нет:
Отправить комментарий