전직 직원의 작업을 정리한 후 몇 년 전 그들이 실수로 CVS 커밋에 800MB의 데이터 파일을 포함했다는 사실을 발견했습니다. 동일한 프로젝트에 대한 몇 가지 다른 약속이 이어졌습니다.
이 데이터는 보안에 매우 민감하고 법적 제한이 적용되며 완전히 삭제해야 합니다(다락방이나 파일 시스템에는 아무것도 없음).
CVS를 손상시키지 않고 어떻게 이러한 파일을 삭제할 수 있습니까?
(이것은 Linux 호스트입니다. 루트 액세스 권한이 있고 CLI에 능숙하지만 CVS 전문가는 아닙니다!)
답변1
파일 삭제를 사용한 후 Attic 디렉터리에서 파일을 삭제할 수 있습니다 cvs rm
.
프로젝트 디렉터리에서 파일을 삭제하고 변경 사항을 커밋합니다.
cvs rm -f thefile
cvs commit -m 'deleted thefile' thefile
그러면 파일이 삭제할 수 있는 디렉터리 thefile,v
로 이동됩니다. CVSROOT 환경 변수를 설정했다고 가정하면 이제 다음을 수행할 수 있습니다.Attic
CVSROOT/projectdir
rm "$CVSROOT/projectdir/Attic/thefile,v"
파일은 기록과 함께 사라졌습니다.
$ cvs stat thefile
cvs status: nothing known about `thefile'
===================================================================
File: no file thefile Status: Unknown
Working revision: No entry for thefile
Repository revision: No revision control file