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

#############################################################################
# This log demos delta-set creates and applies, run against a large and 
# realistic content set (about 208G, and 141K non-backup files).  This
# content is maintained on PCs, removable SSDs, and Android smartphones.
# All test were run on macOS; TO here is a Samsung external SSD over USB.
# Some details have been cut here ("...etc...") to protect the innocent.
#############################################################################



# Check command usage errors/messages

~$ python3 $M/deltas.py
**Missing dirdelta, dirfrom, or dirto paths
deltas run cancelled.
Usage:
	[py[thon]] deltas.py dirdeltas dirfrom dirto
		[-report]
		[-peek]
		[-skipcruft]
More?

~$ python3 $M/mergeall.py
**Missing dirfrom or dirto paths
mergeall run cancelled.
Usage:
	[py[thon]] mergeall.py dirfrom dirto
		[-report] [-auto]
		[-peek] [-verify]
		[-backup] [-restore] [-quiet]
		[-skipcruft]
More?




# Preview the FROM (PC) / TO (SSD) diffs - with either script 

~$ python3 $M/mergeall.py ~/MY-STUFF /Volumes/T7/MY-STUFF -report -skipcruft > ~/Desktop/temp/mergeall-report.txt
~$ tail -n 9 ~/Desktop/temp/mergeall-report.txt
------------------------------------------------------------------------------- 
*Summary
Compared    => files: 141976, folders: 11298
Differences => samefile: 57, uniqueto: 23, uniquefrom: 28, mixedmode: 0
Changed:
files   => created: 0, deleted: 0, replaced: 0
folders => created: 0, deleted: 0, replaced: 0
-------------------------------------------------------------------------------
Finished.


~$ python3 $M/deltas.py DELTAS ~/MY-STUFF /Volumes/T7/MY-STUFF -report -skipcruft > ~/Desktop/temp/mergeall-report.txt
~$ tail -n 9 ~/Desktop/temp/mergeall-report.txt
------------------------------------------------------------------------------- 
*Summary
Compared    => files: 141976, folders: 11298
Differences => samefile: 57, uniqueto: 23, uniquefrom: 28, mixedmode: 0
Changed:
files   => created: 0, deleted: 0, replaced: 0
folders => created: 0, deleted: 0, replaced: 0
-------------------------------------------------------------------------------
Finished.




# Create the deltas: PC to external SSD, 208G archive

~$ python3 $M/deltas.py DELTAS ~/MY-STUFF /Volumes/T7/MY-STUFF -skipcruft > ~/Desktop/temp/make-deltas.txt
~$ tail -n 13  ~/Desktop/temp/make-deltas.txt
saved new FROM dir,  /Users/me/MY-STUFF/Websites/UNION/ziptools/ziptools/docetc/android11-demo-1.3
saved new FROM file, /Users/me/MY-STUFF/Websites/UNION/ziptools/ziptools/docetc/_publish-log-1.3.txt
Listed 23 unique TO items in deltas __added__.txt
Phase runtime: 1.1677318019999987
------------------------------------------------------------------------------- 
*Summary
Compared    => files: 141976, folders: 11298
Differences => samefile: 57, uniqueto: 23, uniquefrom: 28, mixedmode: 0
Changed:
files   => created: 21, deleted: 21, replaced: 57
folders => created: 7, deleted: 2, replaced: 0
-------------------------------------------------------------------------------
Finished.




# Command errors are caught before any changes are made

~$ python3 $M/mergeall.py DELTAS to -restore -auto -skipcruft -backup -quiet > ~/Desktop/temp/apply-deltas.txt
~$ cat ~/Desktop/temp/apply-deltas.txt
**Invalid dirto directory path
mergeall run cancelled.
Usage:
	[py[thon]] mergeall.py dirfrom dirto
		[-report] [-auto]
		[-peek] [-verify]
		[-backup] [-restore] [-quiet]
		[-skipcruft]
 



# Apply the deltas set from PC to external SSD, with backups just in case

~$ python3 $M/mergeall.py DELTAS /Volumes/T7/MY-STUFF -restore -auto -skipcruft -backup -quiet > ~/Desktop/temp/apply-deltas.txt
~$ tail -n 15  ~/Desktop/temp/apply-deltas.txt 
...etc...
Phase runtime: 3.608192164
------------------------------------------------------------------------------- 
*Summary
Compared    => files: 57, folders: 53
Differences => samefile: 57, uniqueto: 4651, uniquefrom: 28, mixedmode: 0
Changed:
files   => created: 21, deleted: 21, replaced: 57
folders => created: 7, deleted: 2, replaced: 0
-------------------------------------------------------------------------------
Finished.




# Verify modtimes: 
    - two files were edited on the PC after the deltas were applied (waiting is hard)

~$ python3 $M/mergeall.py ~/MY-STUFF /Volumes/T7/MY-STUFF -report -skipcruft > ~/Desktop/temp/mergeall-report-post.txt
~$ tail -n 9 ~/Desktop/temp/mergeall-report-post.txt
------------------------------------------------------------------------------- 
*Summary
Compared    => files: 142743, folders: 11356
Differences => samefile: 2, uniqueto: 0, uniquefrom: 0, mixedmode: 0
Changed:
files   => created: 0, deleted: 0, replaced: 0
folders => created: 0, deleted: 0, replaced: 0
-------------------------------------------------------------------------------
Finished.




# And here they are...

~$ grep --context=+11 'SAMEFILE DIFFERENCES' ~/Desktop/temp/mergeall-report-post.txt
...etc...
Phase runtime: 14.650388395
------------------------------------------------------------------------------- 
*Reporting tree differences
-------------------------------------------------------------------------------
SAMEFILE DIFFERENCES: (name, dirfrom, dirto, why)
**These items will be replaced in dirto by automatic resolution**

[('sync-changes-part1-pc.sh',
  '/Users/me/MY-STUFF/Code/android-tkinter/_private_/fold3-and-deltas-fix/SCRIPTS',
  '/Volumes/T7/MY-STUFF/Code/android-tkinter/_private_/fold3-and-deltas-fix/SCRIPTS',
  'modtime'),
 ('sync-changes-part2-phone.sh',
  '/Users/me/MY-STUFF/Code/android-tkinter/_private_/fold3-and-deltas-fix/SCRIPTS',
  '/Volumes/T7/MY-STUFF/Code/android-tkinter/_private_/fold3-and-deltas-fix/SCRIPTS',
  'modtime')]
-------------------------------------------------------------------------------




# Verify bytes:
    - The __bkp__ diff is moot - the SSD's backup-set dates differ from the PC's
    - The two changed files crop up here too (bytewise or modtimes)
    - An item was added to a folder on the PC while this was running (hey, it's 7 minutes)
    - All else is byte-for-byte identical between FROM and TO after syncing with deltas.

~$ python3 $M/diffall.py ~/MY-STUFF /Volumes/T7/MY-STUFF -skipcruft > ~/Desktop/temp/diffall-post.txt
~$ tail -n 10 ~/Desktop/temp/diffall-post.txt
================================================================================
Runtime hrs:mins:secs = 0:7:23.77
Dirs checked 11357, Files checked: 142860, Files skipped: 0
System metadata (cruft) files were skipped
Diffs found: 4
- items UNIQUE at [/Users/me/MY-STUFF/__bkp__] - [/Volumes/T7/MY-STUFF/__bkp__]
- items UNIQUE at [/Users/me/MY-STUFF/Code/mergeall/_private_] - [/Volumes/T7/MY-STUFF/Code/mergeall/_private_]
- files DIFFER at [/Users/me/MY-STUFF/Code/android-tkinter/_private_/fold3-and-deltas-fix/SCRIPTS/sync-changes-part1-pc.sh] - [/Volumes/T7/MY-STUFF/Code/android-tkinter/_private_/fold3-and-deltas-fix/SCRIPTS/sync-changes-part1-pc.sh]
- files DIFFER at [/Users/me/MY-STUFF/Code/android-tkinter/_private_/fold3-and-deltas-fix/SCRIPTS/sync-changes-part2-phone.sh] - [/Volumes/T7/MY-STUFF/Code/android-tkinter/_private_/fold3-and-deltas-fix/SCRIPTS/sync-changes-part2-phone.sh]
End of report.
 



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