2010-05-25 2 views
2

CONTEXT : Visual Studio 2008 및 TFS를 사용하여 큰 C# 병합을 준비 중입니다. 각 파일에 대한 파일 및 충돌 횟수 (총 변경 및 충돌 횟수)가 포함 된 보고서를 만들어야합니다.충돌 보고서 (메트릭)를 제공하는 diff/merge 도구가 있습니까?

문제 : 두 가지 이유로 해결할 수 없습니다 (처음 해결됨).) :

1- TFS 병합을 사용하면 파일 비교에 액세스 할 수 있지만 충돌하는 파일 목록을 내보낼 수 없습니다 ... 충돌 만 해결할 수 있습니다.

2는 TFS가 난 단지 충돌의 수를 얻기 위해 각 파일에 대해 직접 액세스 할 수 있습니다 병합 사용 (비교 내가 뭔가를 나 파일 목록을 내보낼 수 있습니다. 이상 사용 문제 하나를 해결 한) ...하지만 800 개 이상의 파일이 있습니다. (아마도 가까운 미래에 그것을 반복해야하므로 수동으로 작업하는 옵션이 아닙니다)

수십 개의 파일 비교 도구 (http://en.wikipedia.org/wiki/Comparison_of_file_comparison_tools)가 있지만 어느 것이 (있는 경우)이 메트릭을 줄 수 있는지. 나는 또한 여러 포럼과 질문을 여기서 읽었지만 더 일반적인 질문 (diff 도구가 더 낫다)과 나는 매우 구체적인 보고서를 찾고있다.

그래서 제 질문은 다음과 같습니다

  1. 비주얼 스튜디오 2010 (여전히 TFS2008을 사용)되어 같은 보고서/수출을 수행 할 수있는?
  2. 당신이 파일의 거대한 숫자를 병합하려는 경우 메트릭 (지금은 저쪽에 비교하려합니다)

답변

1

답변 :

1 비주얼 스튜디오 2008 & TFS 2008 정보를 내보낼 수 없습니다. 여러 가지 도구를 시도 후

2 : BeyondCompare 3은 내보낼 쉽게 IU에서 메트릭을 받고 있습니다. (폴더 비교 보고서를 사용하는 대신 파일 비교 보고서/XML 덤프 필터링 파일을 사용했습니다.) KDiff3 IU를 사용하여 일부 메트릭을 가져올 수 있지만이를 내보낼 수는 없습니다.

명령 줄 방법을

주를 시도하지 않았다 : 통계가 100 % 정확 있도록 다양한 도구가 다른 충돌 해상도를 가지고 있음을 유의하십시오. 예를 들어, TFS에서 20 개의 변경 사항과 3 개의 충돌이있는 파일은 비교를 통해 20 개의 변경 사항 8 충돌로보고되었습니다.

1

이런 종류의를 제공하는 모든 도구가 있습니까, 당신은보고의 차이를 최소화하려면 최소 최저. 코드가 다시 포맷되거나 행에 변경 사항이 있으면 행 지향 diff 도구는 변경 사항을보고합니다.

SD C# Smart Differencer은 텍스트의 실제 레이아웃이 아니라 소스 코드 구문에 따라 차이점을보고합니다. 프로그래머의 관점에서 효과 (삽입, 삭제, 복사, 이동, 이름 바꾸기) 측면에서 언어 요소 (식별자, 표현식, 명령문, 블록, 메소드 등)를 기반으로 변경 사항을보고합니다. 이름 바꾸기 감지는 블록/파일에서 일관되게 변경된 이름을 무시한다는 것을 의미합니다.

이 방법을보고하면 라인 지향 diff보다 상당히 작은 diff를 생성하는 경향이 있으므로주의를 덜 사용합니다. 조사 몇 일 후 내 질문에

+0

정보를 제공해 주셔서 감사합니다. Smart Differencer가 재미있을 수 있습니다. 하지만 내가 필요한 것은 미래에 병합을 측정하는 것입니다. 병합이 현명하거나 줄을서는 경우에는이 단계에서 중요하지 않습니다. –

+0

흠. 대부분의 diff 도구 (SmartDifferencer 포함)는 diff가있는 위치를 알려주는 출력을 생성하며 각 도구가보고 한 차이 수를 계산할 수 있습니다. 아웃풋이 항상 "깔끔"하지는 않기 때문에 카운팅을하기 위해서는 AWK 나 PERL과 같은 것이 필요할 것입니다. 그러나 어떤 의미에서는 그렇게해서는 안됩니다. 보고 된 diff를 계산하려면 diff가 수행되는 방법이 상당히 달라 지므로 크기가 달라집니다. –

+0

diff 도구를 사용해 보았습니다. BEYONDCOMPARE는 하나의 파일을 다른 파일과 비교할 때 diff 수를 제공하지만 폴더를 폴더와 비교할 때 나에게주지 않습니다. (또는 나는이 정보를 얻을 수 없었다). KDIFF3는 나에게 목록을 제공하지만 그것을 내보낼 수는 거의 없습니다. (내일 나는 pdf로 보고서를 인쇄하고 엑셀 시트에 복사 & 붙여 넣기를하고 합산합니다) 어쩌면 커맨드 라인에서이 도구들을 조사하고 호출해야합니다. ... 나는 두 폴더를 비교할 수있는 옵션이있는 도구를 찾고 있었고 쉽게 발견 된 충돌에 대한 보고서를 생성하려고했습니다. –