2010-05-31 2 views
2

"diff"가 적용되는 순서가 텍스트 파일 (또는 데이터베이스의 경우 INSERT/UPDATE/DELETE) 사이에 "diff"를 생성하는 Unix 프로그램은 무엇입니까? 관련성이 없으며 결과는 주문과 관계없이 과 동일합니다.데이터베이스에 대한 교환 가능 (조작 상 변환) ​​비교

는 Etherpad이 같은 일을하는 데 사용됩니다.

예 (특정 문서 또는 데이터베이스)

퍼센트 아담 변경 X하게하고 밥 변화 Y는 아담 때문에 네트워크의,

퍼센트 그러나 다른 변경 Z.하게 만든다 Adam은이 주문 (XZY)의 변경 사항을 보았지만 Bob은 YXZ 순서로 변경되었습니다. XYZ 및 YXZ 이 동일한 결과를 산출하도록

%하지만 코드/변화가 기록된다.

참고 : 이상적으로, 이것은 어떤 시점에서 X/Y/Z 역을 할 필요없이 수행 할 수 있습니다.

나는 Operational Transformation library? 을 읽었지만, 나는 이것이 내가 원하는 것을 실제로하고 있는지 잘 모르겠다.

+0

OT는 특히 당신이 원하는 "XYZ == YXZ"를 얻으려면 계신 확실히이다. 나는 Ceda가 현재 * nix 포트를 가지고 있지는 않지만 당신이 도움이 될 수있는 링크 된 질문에 대한 답변을 추가했습니다. –

답변

0

Git (또는 스마트 버전 관리 시스템)이이 기능을 제공한다.

+0

나는 그것에 대해 생각하지 않았지만 당신이 옳다고 생각합니다. 단,이 경우를 제외하고는 줄 단위가 아닌 문자 단위로 처리하고 있습니다 (델타를 보내려면 "diff"의 최적화 된 버전을 사용 하시겠습니까?). OK, 우리는 어떻게이 텍스트 파일로 저장 짧은, SQL 데이터베이스/w를 할 것인가? – barrycarter

관련 문제