2009-10-07 3 views

답변

0

cvs log 모두를 반환합니다. 당신이 "마지막 N 개정을"(여기에서, 심지어 cvs log HEAD 말할 수 없다) 말할 수 없기 때문에, 두 가지 옵션이 있습니다 :

  1. 사용 head -N하여 N 맨 위의 라인을 얻을 수 (UNIX 또는 Cygwin에서 전용)

  2. 각 파일을 개별적으로 CVS 구현 버전 이후 날짜와 cvs log -d DATE

0

를 사용하여, 당신이 각 파일을 통해 최신 어느 하나를 결정하기 위해 커밋 타임 스탬프를 비교해야 할 것 같아요. 이것을 CVS가 커밋 세트의 개념을 지원하지 않는다는 사실과 결합하면, 동일한 커밋 타임 스탬프를 가진 수많은 파일을 얻을 수 있습니다. 그래서 어느 것이 최신입니까? 또는 로그 파일에 쓰고 최신 커밋을 결정하는 데 사용하는 커밋 후크를 만들 수 있습니다.

아마 알 수 있듯이이 두 가지 중 어느 것도 선택의 여지가 없습니다. 모듈 수준에서 항상 태그과 비교할 것을 권합니다. 충분한 개선이 이루어질 때 (예 : 일일 빌드, 테스트 환경으로의 배포 등) 모듈에 태그를 지정하고 만든 태그를 비교 기준으로 사용하는 소프트웨어 프로세스를 만듭니다. 당신은 작업 복사본없이

  • cvs rdiff 명령을 사용하여 태그에 대한 최신 변경 사항을 diffing의 달성 할 수

    , 또는 작업 복사본의 최상위에서

  • cvs diff 명령

자세한 내용은 CVS 설명서를 참조하십시오.

8

아마도 history 명령을 사용할 수 있다고 생각합니다. (... 목록의 길이가 제한되도록 지정) 지정된 날짜가 있기 때문에 위의 예는 모든 커밋을 보여줍니다

cvs history -c -D 2012-04-01 -a 

: 같은 것을보십시오.

-c 의미는 커밋, -a은 모든 사용자를 의미합니다.

타임 스탬프와 사용자가 동일한 커밋은 분명히 동일한 커밋에서 발생합니다. 그런 다음 해당 커밋의 로그 메시지를 읽을 수 있습니다.

cvs log -r <version> <file> 

특정 커밋에서 파일 중 하나를 선택하기 만하면됩니다. 히스토리 출력에서도 해당 파일의 버전을 찾을 수 있습니다. 마지막으로, 나는 여기

cvs diff -D "<date 1>" -D "<date 2>" 

사용하는 것은 diff를보고, "날짜 1"과 "날짜 (2)는"타임 스탬프는 전 그냥 커밋 후에해야한다. 참고로 (내가 아는 한) 지점에서 작업하는 경우에는 작동하지 않는 것 같습니다 (??). 그것은 내가 생각하는 또 다른 질문에 대한 주제가 될 것입니다.

관련 문제