File: mergeall-products/unzipped/test/test-deltas-3.2/prove-deltas-rollbacks-and-beyond.txt
########################################################################### # This log verifies delta-set creates and applies, delta rollbacks, and # rollbacks of rollbacks (and rollbacks of rollbacks of rollbacks...). # In general, an odd number of rollbacks gets back to the pre-deltas state, # and even resets delta applied. Also in general, multiple rollbacks now # work properly, but use cases drop off exponentially after one or two. ########################################################################### ~/testdeltas$ alias py3 alias py3='python3' ~/testdeltas$ echo $C /Users/me/MY-STUFF/Code # Setup test folders ~/testdeltas$ rm -rf from to ~/testdeltas$ cp -pR _start-from from ~/testdeltas$ cp -pR _start-to to # Create deltas ~/testdeltas$ py3 $C/mergeall/deltas.py DELTAS from to -skipcruft Saving all deltas to: DELTAS Starting. ------------------------------------------------------------------------------- *Collecting tree differences Skipping system cruft (metadata) files in both FROM and TO comparing [from] [to] Phase runtime: 0.0016596109999999983 ------------------------------------------------------------------------------- *Reporting tree differences ------------------------------------------------------------------------------- SAMEFILE DIFFERENCES: (name, dirfrom, dirto, why) **These items will be replaced in dirto by automatic resolution** [('samefile-diff', 'from', 'to', 'modtime')] ------------------------------------------------------------------------------- UNIQUE ITEMS IN DIRTO: (names, dirfrom, dirto) **These items will be deleted from dirto by automatic resolution** [(['uniqueto-file', 'filelink-to', 'uniqueto-dir'], 'from', 'to')] ------------------------------------------------------------------------------- UNIQUE ITEMS IN DIRFROM: (names, dirfrom, dirto) **These items will be copied over to dirto by automatic resolution** [(['uniquefrom-dir', 'filelink-from', 'uniquefrom-file'], 'from', 'to')] ------------------------------------------------------------------------------- MIXED MODE NAMES: (name, dirfrom, dirto) **These items will be replaced in dirto by automatic resolution** [('mixed-dir', 'from', 'to'), ('mixed-file', 'from', 'to')] ------------------------------------------------------------------------------- *Resolving tree differences Skipping system cruft (metadata) files in FROM folders saved changed FROM file, from/samefile-diff saved new FROM dir, from/uniquefrom-dir propagating symlink from/filelink-from saved new FROM file, from/filelink-from saved new FROM file, from/uniquefrom-file Listed 3 unique TO items in deltas __added__.txt saved mixed FROM dir, from/mixed-dir saved mixed FROM file, from/mixed-file Phase runtime: 0.0019135430000000037 ------------------------------------------------------------------------------- *Summary Compared => files: 2, folders: 1 Differences => samefile: 1, uniqueto: 3, uniquefrom: 3, mixedmode: 2 Changed: files => created: 3, deleted: 2, replaced: 1 folders => created: 2, deleted: 1, replaced: 0 ------------------------------------------------------------------------------- Finished. # Apply deltas, with backups ~/testdeltas$ py3 $C/mergeall/mergeall.py DELTAS to -restore -auto -skipcruft -backup -quiet Starting. ------------------------------------------------------------------------------- *Collecting tree differences Skipping system cruft (metadata) files in both FROM and TO comparing [DELTAS] [to] excluding DELTAS/__added__.txt Phase runtime: 0.0015858909999999955 ------------------------------------------------------------------------------- *Reporting tree differences ------------------------------------------------------------------------------- SAMEFILE DIFFERENCES: (name, dirfrom, dirto, why) **These items will be replaced in dirto by automatic resolution** [('samefile-diff', 'DELTAS', 'to', 'modtime')] ------------------------------------------------------------------------------- UNIQUE ITEMS IN DIRTO: (names, dirfrom, dirto) **These items will be deleted from dirto by automatic resolution** [(['dirlink-same', 'samefile-same', 'uniqueto-file', 'filelink-to', 'uniqueto-dir'], 'DELTAS', 'to')] ------------------------------------------------------------------------------- UNIQUE ITEMS IN DIRFROM: (names, dirfrom, dirto) **These items will be copied over to dirto by automatic resolution** [(['uniquefrom-dir', 'filelink-from', 'uniquefrom-file'], 'DELTAS', 'to')] ------------------------------------------------------------------------------- MIXED MODE NAMES: (name, dirfrom, dirto) **These items will be replaced in dirto by automatic resolution** [('mixed-dir', 'DELTAS', 'to'), ('mixed-file', 'DELTAS', 'to')] ------------------------------------------------------------------------------- *Resolving tree differences Skipping system cruft (metadata) files in FROM folders ....backing up all items to to/__bkp__/date210907-time154835 ....removed added file: to/uniqueto-file propagating symlink to/filelink-to ....removed added file: to/filelink-to ....removed added dir: to/uniqueto-dir ....prior file/dir additions removed: 2/1 replaced same file, using FROM DELTAS/samefile-diff ....retaining all common TO items copied new FROM dir, DELTAS/uniquefrom-dir propagating symlink DELTAS/filelink-from copied new FROM file, DELTAS/filelink-from copied new FROM file, DELTAS/uniquefrom-file replaced file with dir, using FROM DELTAS/mixed-dir replaced dir with file, using FROM DELTAS/mixed-file Phase runtime: 0.005507189000000003 ------------------------------------------------------------------------------- *Summary Compared => files: 1, folders: 1 Differences => samefile: 1, uniqueto: 5, uniquefrom: 3, mixedmode: 2 Changed: files => created: 2, deleted: 2, replaced: 2 folders => created: 1, deleted: 1, replaced: 1 ------------------------------------------------------------------------------- Finished. # Verify deltas apply: bytes ~/testdeltas$ py3 $C/mergeall/diffall.py from to -skipcruft -------------------- Comparing from to to *UNIQUE items in to: ... __bkp__ Comparing contents dirlink-same matches filelink-from matches samefile-same matches uniquefrom-file matches mixed-file matches samefile-diff matches -------------------- Comparing from/uniquefrom-dir to to/uniquefrom-dir Directory lists are identical Comparing contents uniquefrom-dir-file matches -------------------- Comparing from/mixed-dir to to/mixed-dir Directory lists are identical Comparing contents ================================================================================ Runtime hrs:mins:secs = 0:0:0.00 Dirs checked 3, Files checked: 7, Files skipped: 0 System metadata (cruft) files were skipped Diffs found: 1 - items UNIQUE at [from] - [to] End of report. # Verify deltas apply: modtimes ~/testdeltas$ py3 $C/mergeall/mergeall.py from to -report -skipcruft Starting. ------------------------------------------------------------------------------- *Collecting tree differences Skipping system cruft (metadata) files in both FROM and TO comparing [from] [to] excluding to/__bkp__ comparing [from/uniquefrom-dir] [to/uniquefrom-dir] comparing [from/mixed-dir] [to/mixed-dir] Phase runtime: 0.0015566130000000018 ------------------------------------------------------------------------------- *Reporting tree differences ------------------------------------------------------------------------------- SAMEFILE DIFFERENCES: (name, dirfrom, dirto, why) **These items will be replaced in dirto by automatic resolution** [] ------------------------------------------------------------------------------- UNIQUE ITEMS IN DIRTO: (names, dirfrom, dirto) **These items will be deleted from dirto by automatic resolution** [] ------------------------------------------------------------------------------- UNIQUE ITEMS IN DIRFROM: (names, dirfrom, dirto) **These items will be copied over to dirto by automatic resolution** [] ------------------------------------------------------------------------------- MIXED MODE NAMES: (name, dirfrom, dirto) **These items will be replaced in dirto by automatic resolution** [] ------------------------------------------------------------------------------- *Summary Compared => files: 5, folders: 3 Differences => samefile: 0, uniqueto: 0, uniquefrom: 0, mixedmode: 0 Changed: files => created: 0, deleted: 0, replaced: 0 folders => created: 0, deleted: 0, replaced: 0 ------------------------------------------------------------------------------- Finished. # Rollback the deltas ~/testdeltas$ py3 $C/mergeall/mergeall.py to/__bkp__/date210907-time154835 to -restore -auto -backup -quiet -skipcruft Starting. ------------------------------------------------------------------------------- *Collecting tree differences Skipping system cruft (metadata) files in both FROM and TO comparing [to/__bkp__/date210907-time154835] [to] excluding to/__bkp__ excluding to/__bkp__/date210907-time154835/__added__.txt Phase runtime: 0.0017326400000000006 ------------------------------------------------------------------------------- *Reporting tree differences ------------------------------------------------------------------------------- SAMEFILE DIFFERENCES: (name, dirfrom, dirto, why) **These items will be replaced in dirto by automatic resolution** [('samefile-diff', 'to/__bkp__/date210907-time154835', 'to', 'modtime')] ------------------------------------------------------------------------------- UNIQUE ITEMS IN DIRTO: (names, dirfrom, dirto) **These items will be deleted from dirto by automatic resolution** [(['uniquefrom-dir', 'dirlink-same', 'filelink-from', 'samefile-same', 'uniquefrom-file'], 'to/__bkp__/date210907-time154835', 'to')] ------------------------------------------------------------------------------- UNIQUE ITEMS IN DIRFROM: (names, dirfrom, dirto) **These items will be copied over to dirto by automatic resolution** [(['uniqueto-file', 'filelink-to', 'uniqueto-dir'], 'to/__bkp__/date210907-time154835', 'to')] ------------------------------------------------------------------------------- MIXED MODE NAMES: (name, dirfrom, dirto) **These items will be replaced in dirto by automatic resolution** [('mixed-dir', 'to/__bkp__/date210907-time154835', 'to'), ('mixed-file', 'to/__bkp__/date210907-time154835', 'to')] ------------------------------------------------------------------------------- *Resolving tree differences Skipping system cruft (metadata) files in FROM folders ....backing up all items to to/__bkp__/date210907-time155136 ....removed added dir: to/uniquefrom-dir propagating symlink to/filelink-from ....removed added file: to/filelink-from ....removed added file: to/uniquefrom-file ....prior file/dir additions removed: 2/1 replaced same file, using FROM to/__bkp__/date210907-time154835/samefile-diff ....retaining all common TO items copied new FROM file, to/__bkp__/date210907-time154835/uniqueto-file propagating symlink to/__bkp__/date210907-time154835/filelink-to copied new FROM file, to/__bkp__/date210907-time154835/filelink-to copied new FROM dir, to/__bkp__/date210907-time154835/uniqueto-dir replaced dir with file, using FROM to/__bkp__/date210907-time154835/mixed-dir replaced file with dir, using FROM to/__bkp__/date210907-time154835/mixed-file Phase runtime: 0.0068630349999999965 ------------------------------------------------------------------------------- *Summary Compared => files: 1, folders: 1 Differences => samefile: 1, uniqueto: 5, uniquefrom: 3, mixedmode: 2 Changed: files => created: 2, deleted: 2, replaced: 2 folders => created: 1, deleted: 1, replaced: 1 ------------------------------------------------------------------------------- Finished. # Verify the rollback of the deltas: bytes ~/testdeltas$ py3 $C/mergeall/diffall.py _start-to to -skipcruft -------------------- Comparing _start-to to to *UNIQUE items in to: ... __bkp__ Comparing contents dirlink-same matches samefile-same matches uniqueto-file matches filelink-to matches mixed-dir matches samefile-diff matches -------------------- Comparing _start-to/uniqueto-dir to to/uniqueto-dir Directory lists are identical Comparing contents uniqueto-dir-file matches -------------------- Comparing _start-to/mixed-file to to/mixed-file Directory lists are identical Comparing contents ================================================================================ Runtime hrs:mins:secs = 0:0:0.00 Dirs checked 3, Files checked: 7, Files skipped: 0 System metadata (cruft) files were skipped Diffs found: 1 - items UNIQUE at [_start-to] - [to] End of report. # Verify the rollback of the deltas: modtimes ~/testdeltas$ py3 $C/mergeall/mergeall.py _start-to to -report -skipcruft Starting. ------------------------------------------------------------------------------- *Collecting tree differences Skipping system cruft (metadata) files in both FROM and TO comparing [_start-to] [to] excluding to/__bkp__ comparing [_start-to/uniqueto-dir] [to/uniqueto-dir] comparing [_start-to/mixed-file] [to/mixed-file] Phase runtime: 0.0018679549999999975 ------------------------------------------------------------------------------- *Reporting tree differences ------------------------------------------------------------------------------- SAMEFILE DIFFERENCES: (name, dirfrom, dirto, why) **These items will be replaced in dirto by automatic resolution** [] ------------------------------------------------------------------------------- UNIQUE ITEMS IN DIRTO: (names, dirfrom, dirto) **These items will be deleted from dirto by automatic resolution** [] ------------------------------------------------------------------------------- UNIQUE ITEMS IN DIRFROM: (names, dirfrom, dirto) **These items will be copied over to dirto by automatic resolution** [] ------------------------------------------------------------------------------- MIXED MODE NAMES: (name, dirfrom, dirto) **These items will be replaced in dirto by automatic resolution** [] ------------------------------------------------------------------------------- *Summary Compared => files: 5, folders: 3 Differences => samefile: 0, uniqueto: 0, uniquefrom: 0, mixedmode: 0 Changed: files => created: 0, deleted: 0, replaced: 0 folders => created: 0, deleted: 0, replaced: 0 ------------------------------------------------------------------------------- Finished. # # The rest of this file is probably atypical usage, but demos rollback generality # # Rollback the rollback of the deltas (deltas + rollback + rollback == deltas apply) ~/testdeltas$ py3 $C/mergeall/mergeall.py to/__bkp__/date210907-time15 to -restore -auto -backup -quiet -skipcruft date210907-time154835/ date210907-time155136/ ~/testdeltas$ py3 $C/mergeall/mergeall.py to/__bkp__/date210907-time155136 to -restore -auto -backup -quiet -skipcruft Starting. ------------------------------------------------------------------------------- *Collecting tree differences Skipping system cruft (metadata) files in both FROM and TO comparing [to/__bkp__/date210907-time155136] [to] excluding to/__bkp__ excluding to/__bkp__/date210907-time155136/__added__.txt Phase runtime: 0.001602392999999997 ------------------------------------------------------------------------------- *Reporting tree differences ------------------------------------------------------------------------------- SAMEFILE DIFFERENCES: (name, dirfrom, dirto, why) **These items will be replaced in dirto by automatic resolution** [('samefile-diff', 'to/__bkp__/date210907-time155136', 'to', 'modtime')] ------------------------------------------------------------------------------- UNIQUE ITEMS IN DIRTO: (names, dirfrom, dirto) **These items will be deleted from dirto by automatic resolution** [(['dirlink-same', 'samefile-same', 'uniqueto-file', 'filelink-to', 'uniqueto-dir'], 'to/__bkp__/date210907-time155136', 'to')] ------------------------------------------------------------------------------- UNIQUE ITEMS IN DIRFROM: (names, dirfrom, dirto) **These items will be copied over to dirto by automatic resolution** [(['uniquefrom-dir', 'filelink-from', 'uniquefrom-file'], 'to/__bkp__/date210907-time155136', 'to')] ------------------------------------------------------------------------------- MIXED MODE NAMES: (name, dirfrom, dirto) **These items will be replaced in dirto by automatic resolution** [('mixed-dir', 'to/__bkp__/date210907-time155136', 'to'), ('mixed-file', 'to/__bkp__/date210907-time155136', 'to')] ------------------------------------------------------------------------------- *Resolving tree differences Skipping system cruft (metadata) files in FROM folders ....backing up all items to to/__bkp__/date210907-time155409 ....removed added file: to/uniqueto-file propagating symlink to/filelink-to ....removed added file: to/filelink-to ....removed added dir: to/uniqueto-dir ....prior file/dir additions removed: 2/1 replaced same file, using FROM to/__bkp__/date210907-time155136/samefile-diff ....retaining all common TO items copied new FROM dir, to/__bkp__/date210907-time155136/uniquefrom-dir propagating symlink to/__bkp__/date210907-time155136/filelink-from copied new FROM file, to/__bkp__/date210907-time155136/filelink-from copied new FROM file, to/__bkp__/date210907-time155136/uniquefrom-file replaced file with dir, using FROM to/__bkp__/date210907-time155136/mixed-dir replaced dir with file, using FROM to/__bkp__/date210907-time155136/mixed-file Phase runtime: 0.004329971999999998 ------------------------------------------------------------------------------- *Summary Compared => files: 1, folders: 1 Differences => samefile: 1, uniqueto: 5, uniquefrom: 3, mixedmode: 2 Changed: files => created: 2, deleted: 2, replaced: 2 folders => created: 1, deleted: 1, replaced: 1 ------------------------------------------------------------------------------- Finished. # Verify the rollback of the rollback of deltas:: bytes ~/testdeltas$ py3 $C/mergeall/diffall.py from to -skipcruft -------------------- Comparing from to to *UNIQUE items in to: ... __bkp__ Comparing contents dirlink-same matches filelink-from matches samefile-same matches uniquefrom-file matches mixed-file matches samefile-diff matches -------------------- Comparing from/uniquefrom-dir to to/uniquefrom-dir Directory lists are identical Comparing contents uniquefrom-dir-file matches -------------------- Comparing from/mixed-dir to to/mixed-dir Directory lists are identical Comparing contents ================================================================================ Runtime hrs:mins:secs = 0:0:0.00 Dirs checked 3, Files checked: 7, Files skipped: 0 System metadata (cruft) files were skipped Diffs found: 1 - items UNIQUE at [from] - [to] End of report. # Verify the rollback of the rollback of the deltas: modtimes ~/testdeltas$ py3 $C/mergeall/mergeall.py from to -report -skipcruft Starting. ------------------------------------------------------------------------------- *Collecting tree differences Skipping system cruft (metadata) files in both FROM and TO comparing [from] [to] excluding to/__bkp__ comparing [from/uniquefrom-dir] [to/uniquefrom-dir] comparing [from/mixed-dir] [to/mixed-dir] Phase runtime: 0.0018699919999999974 ------------------------------------------------------------------------------- *Reporting tree differences ------------------------------------------------------------------------------- SAMEFILE DIFFERENCES: (name, dirfrom, dirto, why) **These items will be replaced in dirto by automatic resolution** [] ------------------------------------------------------------------------------- UNIQUE ITEMS IN DIRTO: (names, dirfrom, dirto) **These items will be deleted from dirto by automatic resolution** [] ------------------------------------------------------------------------------- UNIQUE ITEMS IN DIRFROM: (names, dirfrom, dirto) **These items will be copied over to dirto by automatic resolution** [] ------------------------------------------------------------------------------- MIXED MODE NAMES: (name, dirfrom, dirto) **These items will be replaced in dirto by automatic resolution** [] ------------------------------------------------------------------------------- *Summary Compared => files: 5, folders: 3 Differences => samefile: 0, uniqueto: 0, uniquefrom: 0, mixedmode: 0 Changed: files => created: 0, deleted: 0, replaced: 0 folders => created: 0, deleted: 0, replaced: 0 ------------------------------------------------------------------------------- Finished. # Rollback the rollback of the rollback of the deltas (deltas + rollback + rollback + rollback = start) ~/testdeltas$ py3 $C/mergeall/mergeall.py to/__bkp__/date210907-time15to -restore -auto -backup -quiet -skipcruft date210907-time154835/ date210907-time155136/ date210907-time155409/ ~/testdeltas$ py3 $C/mergeall/mergeall.py to/__bkp__/date210907-time155409 to -restore -auto -backup -quiet -skipcruft Starting. ------------------------------------------------------------------------------- *Collecting tree differences Skipping system cruft (metadata) files in both FROM and TO comparing [to/__bkp__/date210907-time155409] [to] excluding to/__bkp__ excluding to/__bkp__/date210907-time155409/__added__.txt Phase runtime: 0.0013551469999999975 ------------------------------------------------------------------------------- *Reporting tree differences ------------------------------------------------------------------------------- SAMEFILE DIFFERENCES: (name, dirfrom, dirto, why) **These items will be replaced in dirto by automatic resolution** [('samefile-diff', 'to/__bkp__/date210907-time155409', 'to', 'modtime')] ------------------------------------------------------------------------------- UNIQUE ITEMS IN DIRTO: (names, dirfrom, dirto) **These items will be deleted from dirto by automatic resolution** [(['uniquefrom-dir', 'dirlink-same', 'filelink-from', 'samefile-same', 'uniquefrom-file'], 'to/__bkp__/date210907-time155409', 'to')] ------------------------------------------------------------------------------- UNIQUE ITEMS IN DIRFROM: (names, dirfrom, dirto) **These items will be copied over to dirto by automatic resolution** [(['uniqueto-file', 'filelink-to', 'uniqueto-dir'], 'to/__bkp__/date210907-time155409', 'to')] ------------------------------------------------------------------------------- MIXED MODE NAMES: (name, dirfrom, dirto) **These items will be replaced in dirto by automatic resolution** [('mixed-dir', 'to/__bkp__/date210907-time155409', 'to'), ('mixed-file', 'to/__bkp__/date210907-time155409', 'to')] ------------------------------------------------------------------------------- *Resolving tree differences Skipping system cruft (metadata) files in FROM folders ....backing up all items to to/__bkp__/date210907-time155733 ....removed added dir: to/uniquefrom-dir propagating symlink to/filelink-from ....removed added file: to/filelink-from ....removed added file: to/uniquefrom-file ....prior file/dir additions removed: 2/1 replaced same file, using FROM to/__bkp__/date210907-time155409/samefile-diff ....retaining all common TO items copied new FROM file, to/__bkp__/date210907-time155409/uniqueto-file propagating symlink to/__bkp__/date210907-time155409/filelink-to copied new FROM file, to/__bkp__/date210907-time155409/filelink-to copied new FROM dir, to/__bkp__/date210907-time155409/uniqueto-dir replaced dir with file, using FROM to/__bkp__/date210907-time155409/mixed-dir replaced file with dir, using FROM to/__bkp__/date210907-time155409/mixed-file Phase runtime: 0.005201417999999999 ------------------------------------------------------------------------------- *Summary Compared => files: 1, folders: 1 Differences => samefile: 1, uniqueto: 5, uniquefrom: 3, mixedmode: 2 Changed: files => created: 2, deleted: 2, replaced: 2 folders => created: 1, deleted: 1, replaced: 1 ------------------------------------------------------------------------------- Finished. # Verify the rollback of the rollback of the rollback of the deltas: bytes ~/testdeltas$ py3 $C/mergeall/diffall.py _start-to to -skipcruft -------------------- Comparing _start-to to to *UNIQUE items in to: ... __bkp__ Comparing contents dirlink-same matches samefile-same matches uniqueto-file matches filelink-to matches mixed-dir matches samefile-diff matches -------------------- Comparing _start-to/uniqueto-dir to to/uniqueto-dir Directory lists are identical Comparing contents uniqueto-dir-file matches -------------------- Comparing _start-to/mixed-file to to/mixed-file Directory lists are identical Comparing contents ================================================================================ Runtime hrs:mins:secs = 0:0:0.00 Dirs checked 3, Files checked: 7, Files skipped: 0 System metadata (cruft) files were skipped Diffs found: 1 - items UNIQUE at [_start-to] - [to] End of report. # Verify the rollback of the rollback of the rollback of the deltas: modtimes ~/testdeltas$ py3 $C/mergeall/mergeall.py _start-to to -report -skipcruft Starting. ------------------------------------------------------------------------------- *Collecting tree differences Skipping system cruft (metadata) files in both FROM and TO comparing [_start-to] [to] excluding to/__bkp__ comparing [_start-to/uniqueto-dir] [to/uniqueto-dir] comparing [_start-to/mixed-file] [to/mixed-file] Phase runtime: 0.0019155920000000007 ------------------------------------------------------------------------------- *Reporting tree differences ------------------------------------------------------------------------------- SAMEFILE DIFFERENCES: (name, dirfrom, dirto, why) **These items will be replaced in dirto by automatic resolution** [] ------------------------------------------------------------------------------- UNIQUE ITEMS IN DIRTO: (names, dirfrom, dirto) **These items will be deleted from dirto by automatic resolution** [] ------------------------------------------------------------------------------- UNIQUE ITEMS IN DIRFROM: (names, dirfrom, dirto) **These items will be copied over to dirto by automatic resolution** [] ------------------------------------------------------------------------------- MIXED MODE NAMES: (name, dirfrom, dirto) **These items will be replaced in dirto by automatic resolution** [] ------------------------------------------------------------------------------- *Summary Compared => files: 5, folders: 3 Differences => samefile: 0, uniqueto: 0, uniquefrom: 0, mixedmode: 0 Changed: files => created: 0, deleted: 0, replaced: 0 folders => created: 0, deleted: 0, replaced: 0 ------------------------------------------------------------------------------- Finished. ~/testdeltas$ # And beyond this, you'll need a medical release form...