2009-07-18 7 views
2

프로젝트에서 CVS를 사용해야합니다. 지금까지 필자는 일생 동안 perforce 만 사용했고 CVS에 대해서는 아무 것도 모릅니다. CVS 매뉴얼 전체를 읽었지만이를 수행하는 방법을 찾을 수 없었습니다 :CVS 읽기 전용 체크 아웃

perforce에서는 파일을 체크 아웃 할 때 , 당신은 먼저 p4 edit filename.C를해야한다. (PERFORCE 시스템에 의도적으로이 파일을 편집하여 최종적으로 제출할 의도가 있음)

CVS에서 cvs를 사용하여 파일을 체크 아웃했을 때 co fileName.C 파일은 이미 편집 준비가 된 상태입니다.

CVS에서 PERFORCE의 일반적인 관행은 무엇입니까?

[내가 시작하기 전에 파일을 편집하려는 의도를 소스 제어 시스템에 명시 적으로 지시해야하는 추가 안전성을 좋아합니다. 이렇게하면 편집 한 파일을 쉽게보고 변경 내용을 되돌릴 수 있습니다. 또한 p4 edit fileName.C을 먼저 수행하지 않고 명시 적으로 파일을 편집하여 임시 변경을 수행 할 수 있으며 나중에 임시 변경]

많은 감사!

+1

commiserations .... –

답변

1

CVS에는 "편집"명령이있어서 서버에 파일을 편집하고 있음을 알립니다. 이것은 솔직히 거의 사용되지 않습니다. 파일을 편집 할 때 시스템에 알릴 필요가 없습니다. 내용이 다른지 쉽게 확인하여 결정할 수 있습니다.

Subversion에는 파일을 잠글 수있는 기능이 있습니다.

분산 시스템에는 구현할 필요가없고 (가능한 방법이 아니기 때문에) 그러한 개념이 없습니다.

사이드 노트에서 CVS를 선택하는 것은 당혹 스럽습니다. 현재 사용 가능한 소스 제어 기술이 훨씬 뛰어납니다.

+0

_There은 자세히를 당신은 더 좋은 사람을 가리 킵니다 소스 제어 가능한보기 _에 대한 훨씬 더 나은 기술입니다 라인 인터페이스 @Yann – madD7

3

당신은 같은 것을 할 수 있습니다 : 당신이 파일을 편집 할 경우, 다음

cvs -r checkout .... 

당신 또한

cvs edit filename 

, 반드시 당신은 읽기 전용으로 파일을 반환 커밋하려면 , 당신은해야만합니다

cvs -r commit ... 

또는 -r을 잊어 버리고 CVSREAD 환경 변수를 설정하십시오. 훨씬 쉽게! 글로벌 옵션 섹션에서 CVS 매뉴얼 페이지에서

:

-r

새로운 작업 파일은 읽기 전용으로합니다. $ CVSREAD 환경 변수가 설정된 경우와 같은 효과가 나타납니다 (노드 CVS 설명서의 환경 변수 참조). 시계가 켜져 있지 않으면 기본값은 작업 파일을 쓰기 가능으로 만드는 것입니다 (CVS 매뉴얼의 'Watches'노드 참조).

예 : 그들은 GUI를 또는 명령이있는 경우 CVS를 사용하는 데에

$ cvs -r checkout baz 
cvs checkout: Updating baz 
U baz/file 
$ ls -l baz/file 
-r--r--r-- 1 rfeany None 13 Jul 17 21:08 baz/file 
$ cvs edit baz/file 
$ ls -l baz/file 
-rw-r--r-- 1 rfeany None 13 Jul 17 21:08 baz/file 
관련 문제