하는 방법을 찾을 수의 라인을 변경 사이의 CVS 버전은?

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

  •  03-07-2019
  •  | 
  •  

문제

을 보냈다는 하루의 대부분을 만드는 무엇인가 기본적으로 일부 서비스의 변경 codebase 의 우리의 프로젝트 중 하나(모두 교체 System.out.println() 전화 log4j).

저는 호기심이 얼마나 많은 라인의 코드가 업데이트와 이의 설정을 변경합니다.

어쨌든 가 cvs diff 또 다른 명령에 정확하게 계산하기 위해서는 얼마나 많은 라인이 변경되었나요?

해봤

cvs diff -b -B -R

의 모든 변경에서 작업 디렉터리(및 재귀적으로 하위 디렉터리),하지만 각각의 파일이 변경되었다 그것 또한 인쇄/파일의 버전 정보를 만드는 단지를 계산 라인의 출력에 쓸모가 없다.

어떤 아이디어가?

도움이 되었습니까?

해결책

필터를 추가 라인에서 차이 출력하고 다음 계산 라인입니다.

예를 들어,grep 만 시작하는 줄은 < 또>

cvs diff -b -B -R | egrep '^<|>' | wc -l

다른 팁

diffstat 유틸리티입니다 좋은 도구에 대한 몇 가지 간단한 메트릭스에서 출력의 cvs,svn 또는 다른 diff.

CVS Diff의 출력을 DiffStat에 단순히 파이프로 파이프 할 수 있습니다.

모든 인스턴스를 다음과 같은 것으로 변경했는지 확인하십시오.

find . | egrep -v -e '(CVS|<other patterns you don't want>)' | \
    xargs egrep -e 'System\.out\.println[(][)]' | wc -l

그것은 당신에게 0을 줄 것입니다.

그런 다음 두 번째 egrep에서 Regex를 'log4j'로 교체하려면 WC -L이 변경된 줄의 수를 반환해야합니다.

HTH.

건배,

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