/home/<자기 계정 이름>/bin 같은 데 설치해놓고 (물론 PATH의 일부로 해당 디렉터리가 포함되어 있어야 함) 필요할 때 불러쓰면 OK.
사용법은 cvs_deltree <디렉터리 이름>
잠깐 테스트 해 봤는데 별 무리 없이 돌아간다. 문제점은, 이렇게 해도 저장소에 있는 빈 디렉터리는 사라지지 않는다는 것. 따라서 나중에 다시 체크아웃 해 보면, 빈 디렉터리들이 고스란히 살아난다. 저장소에서 직접 지워주지 않는 한 없어지지 않는다는 것. "실용주의 프로그래머를 위한 버전 관리 using CVS"에도 같은 문제가 지적된 걸로 봐서, 뾰족한 해결책은 없는 듯.
이유는 "디렉터리를 제거하면 변경사항 추적이 곤란해질 수 있기 때문"이라고 아래의 링크에서 지적하는데,
http://www.gproject.co.kr/confluence/pages/viewpage.action?pageId=4014
그것이 요인이라면 체크아웃을 할 때 cvs co -P와 같이 빈 디렉터리는 체크아웃하지 않도록 하는 습관을 들이는 것이 유일한 해결책. subversion을 쓰면 이런 문제는 없다고들 하지만서도.
#!/bin/bash
usage() {
echo "Usage: cvs_deltree <directory>"
exit 0
}
if [ ! "$1" ]
then
usage
fi
dir_name=$1
if [ ! -d $dir_name ]
then
usage
fi
remove_dir() {
local dir=$1
# get inside
cd $dir
local file_list=*
for file in $file_list
do
if [ "$file" == "CVS" ]
then
continue;
fi
if [ -d $file ]
then
remove_dir $file
else
rm $file
cvs remove $file
fi
done
# get outside
cd ..
# remove itself
cvs update -P $dir
}
remove_dir $dir_name
cvs commit -m "directory tree $dir_name has been removed"
소중한 의견, 감사합니다. ^^