마지막 체크인 세부 정보를 가져오는 CVS 명령줄 옵션을 아는 사람이 있나요?

StackOverflow https://stackoverflow.com/questions/86515

문제

저는 Windows(WinCVS 프런트 엔드 포함)에서 CVS를 사용하고 있으며, 쉽게 수정할 수 있도록 빌드가 실패할 때마다 자동화된 빌드 프로세스에서 이메일에 마지막 체크인 세부 정보를 추가하고 싶습니다.

변경된 파일, 변경한 사용자 및 설명을 알아야 합니다.

명령줄 옵션을 해결하려고 노력했지만 정확한 결과를 얻지 못하는 것 같습니다. 단 한 번의 체크인이 아닌 너무 많은 결과를 얻거나 2주 전의 무작위 체크인에 대한 세부 정보를 얻었습니다.

도움이 되었습니까?

해결책

우와.

나는 이것이 얼마나 어려운 일인지 잊어버렸습니다.제가 이전에 했던 작업은 2단계 프로세스였습니다.

첫째, 달리기

cvs history -c -a -D "7 days ago" |
    gawk '{ print "$1 == \"" $6 "\" && $2 == \"" $8 "/" $7 "\" { print \"" $2 " " $3 " " $6 " " $5 " " $8 "/" $7 "\"; next }" }' > /tmp/$$.awk

지난 7일 동안의 모든 체크인에 대한 정보를 수집하고 전송된 이메일의 일부를 생성하는 데 사용할 스크립트를 생성합니다.

그런 다음 자세한 정보를 얻기 위해 손상된 파일이 포함된 디렉터리에서 CVS/Entries 파일을 트롤링했습니다.

두 사람을 함께 뭉치게 함으로써 범인을 찾아내고 그들에게 빌드가 손상되었음을 알리는 이메일을 보낼 수 있었습니다.

이 답변이 기대했던 것만큼 완전하지 않아서 죄송합니다.

다른 팁

CVS는 다른 버전 제어 시스템처럼 변경 세트를 그룹화하지 않습니다.각 파일에는 고유하고 독립적인 버전 번호와 기록이 있습니다.이는 사람들이 새로운 VC로 이동하도록 유도하는 CVS의 결함 중 하나입니다.

즉, 목표를 달성할 수 있는 방법이 있습니다.가장 쉬운 방법은 커밋 후 후크를 추가하여 이메일을 보내거나 파일에 기록하는 것입니다.그런 다음 최소한 이메일이 전송된 시간과 변경한 사람을 확인하여 일련의 커밋을 그룹화할 수 있습니다.

CVS는 이 기능을 제공하지 않습니다.하지만 라이센스를 구매하면 얻을 수 있습니다. 피시아이 또는 아마도 다음을 사용하여 CVSTrac (메모:나는 CVS Trac을 시도하지 않았습니다.)

또는 원자성 커밋을 통해 이 기능을 제공하는 SVN으로 마이그레이션할 수도 있습니다.파일 그룹을 체크인하고 단일 커밋으로 계산하도록 할 수 있습니다.CVS에서 각 파일은 무엇을 하든 별도의 커밋입니다.

우리는 변경 로그를 덤프하는 Perl 스크립트를 통해 이 작업을 수행했으며 두 번째 링크에서 Windows용 Perl의 무료 버전을 얻을 수 있습니다.

Cvs2Cl 스크립트

액티브 펄

CVSROOT에서 loginfo를 사용하고 해당 정보를 파일에 씁니다.

http://ximbiot.com/cvs/manual/cvs-1.11.23/cvs_18.html#SEC186

"cvs History -a -l"을 사용하면 가까워지나요?모든 사용자에게 프로젝트별 마지막 이벤트를 표시합니다...

CVSNT는 지원합니다 커밋 ID 로그, 체크아웃 또는 업데이트 명령에서 태그 대신 사용할 수 있습니다.커밋된 각 파일 세트(CVSNT에서는 커밋이 원자성임)는 고유한 ID를 받습니다.먼저 cvs 로그를 통해 마지막으로 체크인한 파일의 커밋 ID를 확인한 다음(-d"1시간 전" 또는 이와 유사한 방법을 통해 출력을 제한할 수 있음) 해당 ID를 가진 다른 파일을 쿼리하면 됩니다.

Eclipse에는 ChangeSet이 내장되어 있습니다.커밋을 통해 마지막 변경 사항(적어도 들어오는 변경 사항, 즉 업데이트)을 찾아볼 수 있습니다.작성자, 커밋 메시지 및 유사한 타임스탬프별로 커밋을 그룹화하여 이를 수행합니다.

이는 분기, 태그 및 날짜를 ​​선택할 수 있는 "다른 분기 또는 버전과 비교"에도 적용됩니다."변경 세트" 팝업 메뉴에 대한 동기화 보기 아이콘을 살펴보고 직접 확인하십시오.

편집하다:최소한 뷰어로서 Eclipse로 변경해야 하지만 비교하고 그룹화해야 하는 빈도에 따라 그리 나쁘지 않을 수도 있습니다.더 이상 사용하고 싶지 않다면 CVS에만 Eclipse를 사용하십시오.모든 플러그인이 포함된 rcp를 통해 적당한 크기의 그래픽 cvs 클라이언트를 얻는 것도 가능해야 하지만 이는 확실히 범위를 벗어납니다...

이거 해결된 문제 아닌가요?내 생각에 CI 매트릭스 CVS와 이메일 알림을 모두 지원하는 소프트웨어가 이를 수행할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top