2016-11-29 2 views
0

저는 CVS 관리자입니다 (Release Management). 예, 클라이언트는 여전히 CVS에 2016 년에 연결되어 있습니다. 사실, cvs (a.txt)에서 파일을 커밋하면 a.txt, v라는 기록 파일이 만들어집니다. CVSROOT의 서버에서 두 개의 파일 b.txt와 b.txt가있는 인스턴스가 많이 있습니다 (30-35 인스턴스 atleast).커밋 당 CVS 서버에 두 개의 파일이 있습니다. 우리는 어떻게 이것을 할 수 있습니까?

b.txt, v는 표준입니다. CVS 히스토리 파일과 b.txt는 항상 최신 버전의 파일 (체크 아웃 된 버전) 만 표시합니다. 예를 들어, 파일 c.txt를 "1234"에서 "12345"로 c.txt와 c.txt로 업데이트 (및 커밋)하면 v가 자동으로 업데이트됩니다. 업데이트 전에 c.txt는 "1234"를 읽는 데 사용되었으며 업데이트 후 자동으로 최신 버전 "12345"를 표시합니다.

당신에게 이것은 당신이 체크 아웃 한 코드가 아니라 CVS 서버에 있습니다. 그리고 c.txt 파일은 CVS에 의해 자동으로 유지됩니다.

CVSROOT에 파일을 추가해야하지만 커밋 할 때 두 번째 파일이 아닌 내역 파일 만 가져올 수 있습니다. 누군가 달성 할 수있는 방법을 설명 할 수 있습니까? CVS 서버 (c.txt와 c.txt, v)에서 파일의 커밋 (commit)시 두 파일이 생성됩니다.이 파일은 항상 최신 버전의 파일을 표시합니다. 검색을 시도했지만 그러한 개념을 찾지 못했습니다. 누군가 나를 올바른 방향으로 안내 할 수 있습니까?

+0

답변 중 하나가 귀하의 질문에 대한 정답이면, 체크 표시를 클릭하여 답변을 "수락"하십시오. 이것은 응답자 포인트를 제공하고 StackOverflow는 포인트 및 평판 기반입니다. :-) – Mort

답변

0

위에서 이미 설명한 내용을 이해하는 데 필요한 모든 것이 거의 있습니다.

CVS 저장소의 일반 서버 측 파일의 경우 서버의 파일 시스템에만 RCS (,v) 파일이 있습니다. 그러나 특별한 CVSROOT 모듈에서, CVS 서버는 서버가 이것들을 필요로 할 때 모든 파일의 복사본을 체크 아웃합니다. CVS는 일종의 뒤죽박죽이기 때문에 체크 아웃 된 버전을 일반 서버 측 CVSROOT, v 파일과 동일한 서버 저장소 디렉토리에 직접 저장합니다.

하나를 수정하려면 단지 cvs co CVSROOT이고, CVSROOT에 최신 버전의 파일이있는 일반 CVS 작업 영역이 있습니다. 이는 개발자 중 한 명이 cvs co <module> 일 때와 똑같은 코드 사본을 얻습니다. 그런 다음 서버 구성 파일과 cvs commit <filename>을 수정하면 CVSROOT에 커밋되고 서버에 최신 복사본이 체크 아웃 됨으로써 서버에서 바로 사용하기 시작합니다.

+0

하지만 CVSROOT에 새 스크립트를 추가 할 필요가 없습니다. 이제 나야. CVSROOT에서 정상적인 커밋을하고 있다면 RCS 파일 만 가져옵니다. 내가 추가하려고하는 두 번째 체크 아웃 버전의 스크립트를 얻으려면 어떻게해야합니까? –

관련 문제