File: mergeall-products/unzipped/test/test-deltas-3.2/prove-mergeall-basics.txt

#############################################################################
# This log verifies core mergeall behavior: reports, merges, and one-level 
# rollbacks.  The test data has symlinks, mixed types, and more.  See also
# ./_prove-deltas-and-rollbacks.txt for deltas and multiple-rollbacks demos.
#############################################################################


~/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




# Preview changes

~/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]
Phase runtime: 0.0020692580000000044
------------------------------------------------------------------------------- 
*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')]
------------------------------------------------------------------------------- 
*Summary
Compared    => files: 2, folders: 1
Differences => samefile: 1, uniqueto: 3, uniquefrom: 3, mixedmode: 2
Changed:
files   => created: 0, deleted: 0, replaced: 0
folders => created: 0, deleted: 0, replaced: 0
-------------------------------------------------------------------------------
Finished.




# Sync changes, with backups

~/testdeltas$ py3 $C/mergeall/mergeall.py from to -auto -backup -quiet -skipcruft
Starting.
------------------------------------------------------------------------------- 
*Collecting tree differences
Skipping system cruft (metadata) files in both FROM and TO
comparing [from] [to]
Phase runtime: 0.0016507109999999992
------------------------------------------------------------------------------- 
*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
....backing up all items to to/__bkp__/date210907-time151217
replaced same file, using FROM from/samefile-diff
removed old TO file, to/uniqueto-file
propagating symlink to/filelink-to
removed old TO file, to/filelink-to
removed old TO dir, to/uniqueto-dir
copied new FROM dir, from/uniquefrom-dir
propagating symlink from/filelink-from
copied new FROM file, from/filelink-from
copied new FROM file, from/uniquefrom-file
replaced file with dir, using FROM from/mixed-dir
replaced dir with file, using FROM from/mixed-file
Phase runtime: 0.003970953999999999
------------------------------------------------------------------------------- 
*Summary
Compared    => files: 2, folders: 1
Differences => samefile: 1, uniqueto: 3, uniquefrom: 3, mixedmode: 2
Changed:
files   => created: 2, deleted: 2, replaced: 2
folders => created: 1, deleted: 1, replaced: 1
-------------------------------------------------------------------------------
Finished.




# Verify sync: 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 sync: 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.0018925109999999995
------------------------------------------------------------------------------- 
*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 (undo) sync, from backup

~/testdeltas$ py3 $C/mergeall/mergeall.py to/__bkp__/date210907-time151217 to -restore -auto -quiet -skipcruft
Starting.
------------------------------------------------------------------------------- 
*Collecting tree differences
Skipping system cruft (metadata) files in both FROM and TO
comparing [to/__bkp__/date210907-time151217] [to]
excluding to/__bkp__
excluding to/__bkp__/date210907-time151217/__added__.txt
Phase runtime: 0.0016025929999999994
------------------------------------------------------------------------------- 
*Reporting tree differences
-------------------------------------------------------------------------------
SAMEFILE DIFFERENCES: (name, dirfrom, dirto, why)
**These items will be replaced in dirto by automatic resolution**

[('samefile-diff', 'to/__bkp__/date210907-time151217', '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-time151217',
  '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-time151217',
  'to')]
-------------------------------------------------------------------------------
MIXED MODE NAMES: (name, dirfrom, dirto)
**These items will be replaced in dirto by automatic resolution**

[('mixed-dir', 'to/__bkp__/date210907-time151217', 'to'),
 ('mixed-file', 'to/__bkp__/date210907-time151217', 'to')]
------------------------------------------------------------------------------- 
*Resolving tree differences
Skipping system cruft (metadata) files in FROM folders
....removed added dir: to/uniquefrom-dir
....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-time151217/samefile-diff
....retaining all common TO items
copied new FROM file, to/__bkp__/date210907-time151217/uniqueto-file
propagating symlink to/__bkp__/date210907-time151217/filelink-to
copied new FROM file, to/__bkp__/date210907-time151217/filelink-to
copied new FROM dir, to/__bkp__/date210907-time151217/uniqueto-dir
replaced dir with file, using FROM to/__bkp__/date210907-time151217/mixed-dir
replaced file with dir, using FROM to/__bkp__/date210907-time151217/mixed-file
Phase runtime: 0.002352152999999999
------------------------------------------------------------------------------- 
*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 rollback: 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 rollback: 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.0018780810000000037
------------------------------------------------------------------------------- 
*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$ 



[Home page] Books Code Blog Python Author Train Find ©M.Lutz