2011-01-12 10 views
2

가능한 중복 병합 : 내가 어떤 방법으로 병합하려는 두 개의 텍스트 파일을 가지고
Any decent text diff/merge engine for .NET ?두 문자열 (텍스트 파일)

. 첫 번째 버전은 두 번째 버전의 편집 버전입니다.

저를 도울 수있는 오픈 소스 도구가 있습니까?

편집 : 두 파일 간의 변경 사항을 찾아서 코드 파일을 업데이트 할 때 Subversion이 병합 할 때 병합하고 싶습니다.

+0

내 자신의 질문을 중복으로 끝내기 : 올바른 키워드를 찾지 못했기 때문에 삭제하지 않겠습니다. 다른 사람들에게도 도움이 될지도 모릅니다. – jgauffin

+0

SVN을 찾고 있습니까? (하위 버전 도구) http://tortoisesvn.net/downloads.html – Badr

+0

아니요, 내 응용 프로그램에서 사용할 diff 엔진을 찾고 있습니다. – jgauffin

답변

2

이 기사의 예제를 참조하십시오 : http://en.wikipedia.org/wiki/Longest_common_subsequence_problem.

두 개의 큰 파일이 있습니다. 그런 다음 가장 긴 공통 부분 시퀀스 (LCS)를 찾아 파일을 세 부분으로 나눕니다.

1 : LCS 전;
2 : LCS;
3 : LCS 이후.

그런 다음 독립적 인 부품 "1"과 부품 "2"(재귀가 있음)를 비교해야합니다. 반복적으로 비교할 보안 수준을 낮 춥니 다.

총 복잡도는 O (n * log (n))와 O (n * n) 사이에 있습니다.