2014-12-03 3 views
0

나는 거대한 나무 (폴더 구조)가 있습니다. 이 트리를 변경하기 위해이 트리의 CSV 내보내기를 만들었습니다. 변경 사항을 적용한 후에 변경 사항을 원래 트리로 병합해야합니다.두 나무를 비교하십시오

나는 Text :: Diff와 XML :: Diff를 시도했다. XML :: Diff가 작동하지 않습니다. 그것은 결국 다른 구조를 만들어 낸다. 그것은 버그가 있고 찾을 수 없습니다. Text :: Diff는 일종의 이해하기 어려운 패치 파일을 생성하지만 현재 가장 좋은 방법입니다.

정보 : 원본 트리에 다시 적용하려면 "diff"의 각 단계를 이해해야합니다. 각 단계를 설명하지 않고 최종 결과를 제공하는 솔루션은 저에게는 쓸모가 없습니다.

+0

깊이 우선 검색을 한 줄씩 비교하십시오. – Simson

답변

0

Text::Patch을 사용하여 Text::Diff에 의해 생성 된 차이점을 적용 할 수 있습니다. 이 모듈은 Unix/Linux diffpatch 유틸리티를 모델로합니다. 나중에 Larry Wall이 직접 작성한 유틸리티입니다.