Unix/Linux/Mac,  컴퓨터와 인터넷

CVS에서 파일 이름 바꾸기

cvs는 rename이나 mv를 명령어로 지원하지 않는다.

그래서 파일 이름을 변경할 때, 대부분 기존 파일을 mv로 변경하고 cvs delete한 다음, 새 이름으로 cvs add하는 방법을 취하곤 하는데, 이것은 기존의 cvs log를 지우기 때문에 권장하는 방법은 아니다.

cvs repository를 직접 변경하여 로그를 유지하는 방법이 cvs manual에 나와 있어서 소개한다. 다만, 이것은 repository에 대해 관리 권한을 가진 사용자로 제한되는 방법이다.

1. cvs update로 repository와 로컬 디렉토리를 동기화한다.

> cvs update

2. 환경변수 CVSROOT의 값에 따라 cvs가 설치된 호스트의 cvs root 디렉토리로 이동한다.

> telnet 호스트이름
> cd cvsroot디렉토리
> sudo나 su를 이용한 권한 획득

3. v파일의 이름을 변경한다.

# mv oldfile.c,v newfile.c,v

4. 로컬 디렉토리에서 repository와 동기화한다.

> cvs update

5. 확인

> ls

* 이 방법의 문제는 상호연관된 트리로 되어 있을 때 옛날 버전으로 되돌리면 꼬인다는 점이다. 이런 걸 피하려면 위에 소개한 무식한 방법으로 하는 수 밖에 없다. 하지만 단일 파일의 경우에는 CVS의 사용목적에 부합하기 때문에 여기서 소개한 방법이 깔끔하다고 생각한다.

답글 남기기