2012-03-03 3 views
1

wikipedia에서 GDIFF (Generic Diff Format)를 보았습니다.이 표준을 구현하는 명령 줄 도구가 있습니다. 이제 내가 가지고있는 최선은 LibXDiff이지만 라이브러리이기 때문에 실행하기 위해 추가 작업이 필요합니다.GDIFF (일반 Diff 형식, 그래픽 파일이 아닌)를 구현하는 툴은 어떤 툴이든 작동합니다.

내가 이진 - 차이, VCDIFF (xdelta 등) 및 bsdiff 더 나은 압축 속도를 것이라고 알고 있지만 내 경우에는 정말 똑바로 앞으로 필요합니다. VCDIFF는 현재 창 앞에 아무 것도 복사하지 않습니다. (저의 영어 읽기가 정확하다면 this에 관한 기사를보십시오) bsdiff의 패치 파일 형식은 더 복잡 할 것입니다. 갱신

마지막으로 나는 xdelta3와 VCDIFF가 교체 때 "외부 압축 해제를 해제" "작은 문자열 일치를 해제"실제로 좋은 일입니다 발견, 그것은 꽤 좋은 "printdelta"명령이있다 그게 정말 (내 애플 리케이션을위한) 정보를 인쇄합니다 그래서 난 정말 깔끔히 패치 파일에서 VCDIFF 형식을 추출하지 않습니다.

답변

3

Javaxdelta 라이브러리는 xdelta 및 GDIFF 패치를 구현합니다. 이 같은 명령 줄 응용 프로그램으로 사용할 수 있습니다

# create patch 
java -cp javaxdelta-2.0.1.jar:trove-1.0.2.jar com.nothome.delta.Delta source.file target.file patch.gdiff 
# apply patch 
java -cp javaxdelta-2.0.1.jar:trove-1.0.2.jar com.nothome.delta.GDiffPatcher unpatched.file patch.gdiff patched.file 

내가 (한 ZIP 패치로 포장 디렉토리 GDIFF 파일) 패치 디렉토리를 지원하기 위해 한 번 wrapper around it을 썼다.

+0

감사합니다. 아직 유틸리티를 확인하지는 않았지만, xdelta3은 현재 잘 작동합니다. xdelta3의 "printdelta"가 충분하지 않을 때 도구를 사용해 보겠습니다 : D – tdihp