두 폴더 간의 차이점을 캡처하고 적용하기 위한 명령줄 도구

두 폴더 간의 차이점을 캡처하고 적용하기 위한 명령줄 도구

저는 다음 두 가지 작업을 수행할 수 있는 명령줄 도구를 찾고 있습니다.

  1. 두 개의 폴더(경로)를 제공합니다.

    두 폴더 간의 모든 차이점을 포함하는 델타 파일을 생성합니다.

    두 번째 폴더를 얻으려면 파일에서 나중에 첫 번째 폴더에 이러한 차이점을 "적용"할 수 있어야 합니다.

    사용예 =>

    compute-deltas /path/folder1/ /path/folder2/ -o delta-file

    델타 파일을 받았습니다

  2. 폴더와 델타 파일을 제공하면 해당 폴더에 모든 차이점이 "적용"됩니다.

    apply-deltas /path/folder1/ delta-file -o /path/folder2/

    명령을 실행하기 전에 =>는 /path/folder2/비어 있거나 존재하지 않는 폴더입니다.

    명령 실행 후 => /path/folder2/폴더1 및 델타 파일에서 전체 복구

작동 방식에 대한 아이디어는 다음과 같습니다. 기존 도구가 생각나면 알려주세요. 감사합니다!

이는 rsync를 보관(또는 이미지 만들기)한 다음 적용(실행)하는 것과 같습니다.

답변1

rdiff 유틸리티는 rsync 알고리즘을 사용하여 파일 A와 파일 B 간의 차이점이 포함된 델타 파일을 생성합니다(diff 유틸리티와 유사하지만 델타 형식이 다름). 그런 다음 델타 파일을 파일 A에 적용하여 파일 B로 변환할 수 있습니다(패치 유틸리티와 유사). rdiff는 바이너리 파일과 함께 작동합니다.

https://en.wikipedia.org/wiki/Rsync#rdiff

https://superuser.com/a/1523459/775371

rdiffdir은 rdiff와 유사해야 하지만 디렉터리에서 작동할 수 있습니다.

https://linux.die.net/man/1/rdiffdir

관련 정보