jdupes doesn't work properly when detached from a terminal
Reproduction:
run ts jdupes -dION folderA folderB using task-spooler. It exits quickly and reports no duplicates even when there are.
jdupes -dION folderA folderB works fine.
I don't use or have any familiarity at all with that program. -I is broken and should not be used as it is known to not work (in favor of NOT finding duplicates); I should probably remove it for now, and it could have something to do with your problem. jdupes is pure C library code and doesn't really know or care about terminals; it only uses stdin/stdout for everything. It also runs fine in the background in shells in MSYS2, Linux, and macOS. I'm guessing the problem is either -I or something being caused or triggered by your batch job manager.
FYI: The broken isolation feature has been removed in v1.21.0 released today.
If this is still an issue, please let me know. I'll be closing it as invalid in the next couple of days otherwise.
Hey @jbruchon, this one is actually still an issue. ts jdupes -drN /Volumes/Migration\ -\ Media still exits quickly while finding no duplicates, while jdupes -drN /Volumes/Migration\ -\ Media (without ts) runs for ~30 minutes and finds ~260 duplicates.
Since I can reproduce it without -I, this has nothing to do with the isolation feature. I have only had an issue running background tasks using ts with jdupes. I have yet to see another tool behave differently when run under ts. I am unsure how to debug this. Do you have any advice?
What is ts?
https://manpages.ubuntu.com/manpages/xenial/man1/tsp.1.html https://vicerveza.homeunix.net/~viric/soft/ts/
It's a useful tool for running programs as a batch. As far as I know, all ts does is detach a program from the terminal, route its output to a file, and then provide some helpful commands for controlling that program/output. The first thing that comes to mind is that detaching jdupes from its input is causing an issue. Could that be the case? I don't have any other programs that are having an issue with ts (and I use ts a lot).
I see no issues. It behaves as expected for me under ts-1.0.2 from the page you linked. I built a make LOUD=1 binary and ran it with -@ under ts to see what was going on. -I with only one dir fails, but that's expected behavior. I didn't see the same fast exit. Run your test with a LOUD build and -@ and see where the massive river of messages stops.
Click to see lots and lots of output
user@host:/usr/src/ts-1.0.2 $ cp -a ~/projects/github/jdupes/testdir/ .
user@host:/usr/src/ts-1.0.2 $ ./ts ./jdupes -@dION testdir/
8
user@host:/usr/src/ts-1.0.2 $ ./ts
ID State Output E-Level Times(r/u/s) Command [run=0/1]
2 finished /tmp/ts-out.hn6wix 0 0.00/0.00/0.00 jdupes -v
3 finished /tmp/ts-out.ESGC60 0 0.00/0.00/0.00 ./jdupes -dION@ testdir/
4 finished /tmp/ts-out.sfg7Wc 0 0.00/0.00/0.00 ./jdupes -dN@ testdir/
5 finished /tmp/ts-out.h26Iw8 0 0.00/0.00/0.00 ./jdupes -dION@ testdir/
6 finished /tmp/ts-out.5hbwqU 0 0.00/0.00/0.00 ./jdupes -dON@ testdir/
7 finished /tmp/ts-out.d8cGl8 0 0.00/0.00/0.00 ./jdupes -@drN testdir/
8 finished /tmp/ts-out.12Tuqz 0 0.00/0.00/0.00 ./jdupes -@dION testdir/
user@host:/usr/src/ts-1.0.2 $ cat /tmp/ts-out.d8cGl8; echo "-----------"; cat /tmp/ts-out.12Tuqz
opt: loud debugging enabled, hope you can handle it (--loud)
opt: delete files after matching (--delete)
opt: global recursion enabled (--recurse)
opt: delete files without prompting (--noprompt)
grokdir: scanning 'testdir/' (order 1, recurse 1)
getdirstats('testdir/', 0x7ffe428832e0, 0x7ffe428832e8)
traverse_check(dev 64256, ino 128915910307
travdone_alloc(dev 64256, ino 128915910307, hash 5872693914869300823)
travdone_alloc returned 0x7f88ab5b6080
grokdir: readdir: '.'
grokdir: readdir: '..'
grokdir: readdir: '.hidden_dir'
init_newfile(len 22, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/.hidden_dir'
getfilestats('testdir/.hidden_dir')
check_singlefile: all checks passed
grokdir: directory(symlink): recursing (-r/-R)
grokdir: scanning 'testdir/.hidden_dir' (order 1, recurse 1)
getdirstats('testdir/.hidden_dir', 0x7ffe42883250, 0x7ffe42883258)
traverse_check(dev 64256, ino 130996543607
traverse_check add left: 64256, 130996543607
travdone_alloc(dev 64256, ino 130996543607, hash 4287426846038949968)
travdone_alloc returned 0x7f88ab5b6140
grokdir: readdir: '.'
grokdir: readdir: '..'
grokdir: readdir: 'hiddendir_two'
init_newfile(len 36, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/.hidden_dir/hiddendir_two'
getfilestats('testdir/.hidden_dir/hiddendir_two')
check_singlefile: all checks passed
grokdir: readdir: 'block_size_tests'
init_newfile(len 27, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/block_size_tests'
getfilestats('testdir/block_size_tests')
check_singlefile: all checks passed
grokdir: directory(symlink): recursing (-r/-R)
grokdir: scanning 'testdir/block_size_tests' (order 1, recurse 1)
getdirstats('testdir/block_size_tests', 0x7ffe42883250, 0x7ffe42883258)
traverse_check(dev 64256, ino 133172233500
traverse_check add right: 64256, 133172233500
travdone_alloc(dev 64256, ino 133172233500, hash 10232178354172254082)
travdone_alloc returned 0x7f88ab5b62a8
grokdir: readdir: '.'
grokdir: readdir: '..'
grokdir: readdir: '4095b_file1'
init_newfile(len 39, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/block_size_tests/4095b_file1'
getfilestats('testdir/block_size_tests/4095b_file1')
check_singlefile: all checks passed
grokdir: readdir: '4095b_file2'
init_newfile(len 39, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/block_size_tests/4095b_file2'
getfilestats('testdir/block_size_tests/4095b_file2')
check_singlefile: all checks passed
grokdir: readdir: '4096b_file1'
init_newfile(len 39, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/block_size_tests/4096b_file1'
getfilestats('testdir/block_size_tests/4096b_file1')
check_singlefile: all checks passed
grokdir: readdir: '4096b_file2'
init_newfile(len 39, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/block_size_tests/4096b_file2'
getfilestats('testdir/block_size_tests/4096b_file2')
check_singlefile: all checks passed
grokdir: readdir: '4097b_file1'
init_newfile(len 39, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/block_size_tests/4097b_file1'
getfilestats('testdir/block_size_tests/4097b_file1')
check_singlefile: all checks passed
grokdir: readdir: '4097b_file2'
init_newfile(len 39, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/block_size_tests/4097b_file2'
getfilestats('testdir/block_size_tests/4097b_file2')
check_singlefile: all checks passed
grokdir: readdir: 'isolate'
init_newfile(len 18, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/isolate'
getfilestats('testdir/isolate')
check_singlefile: all checks passed
grokdir: directory(symlink): recursing (-r/-R)
grokdir: scanning 'testdir/isolate' (order 1, recurse 1)
getdirstats('testdir/isolate', 0x7ffe42883250, 0x7ffe42883258)
traverse_check(dev 64256, ino 135291482487
traverse_check add right: 64256, 135291482487
travdone_alloc(dev 64256, ino 135291482487, hash 13510798882902114328)
travdone_alloc returned 0x7f88ab5b6728
grokdir: readdir: '.'
grokdir: readdir: '..'
grokdir: readdir: '1'
init_newfile(len 20, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/isolate/1'
getfilestats('testdir/isolate/1')
check_singlefile: all checks passed
grokdir: directory(symlink): recursing (-r/-R)
grokdir: scanning 'testdir/isolate/1' (order 1, recurse 1)
getdirstats('testdir/isolate/1', 0x7ffe428831c0, 0x7ffe428831c8)
traverse_check(dev 64256, ino 137438954246
traverse_check add left: 64256, 137438954246
travdone_alloc(dev 64256, ino 137438954246, hash 9439544819763380225)
travdone_alloc returned 0x7f88ab5b67e8
grokdir: readdir: '.'
grokdir: readdir: '..'
grokdir: readdir: '1.txt'
init_newfile(len 26, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/isolate/1/1.txt'
getfilestats('testdir/isolate/1/1.txt')
check_singlefile: all checks passed
grokdir: readdir: '2.txt'
init_newfile(len 26, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/isolate/1/2.txt'
getfilestats('testdir/isolate/1/2.txt')
check_singlefile: all checks passed
grokdir: readdir: '2'
init_newfile(len 20, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/isolate/2'
getfilestats('testdir/isolate/2')
check_singlefile: all checks passed
grokdir: directory(symlink): recursing (-r/-R)
grokdir: scanning 'testdir/isolate/2' (order 1, recurse 1)
getdirstats('testdir/isolate/2', 0x7ffe428831c0, 0x7ffe428831c8)
traverse_check(dev 64256, ino 139591775222
traverse_check add right: 64256, 139591775222
travdone_alloc(dev 64256, ino 139591775222, hash 18086456104318937273)
travdone_alloc returned 0x7f88ab5b69d8
grokdir: readdir: '.'
grokdir: readdir: '..'
grokdir: readdir: '3.txt'
init_newfile(len 26, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/isolate/2/3.txt'
getfilestats('testdir/isolate/2/3.txt')
check_singlefile: all checks passed
grokdir: readdir: '4.txt'
init_newfile(len 26, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/isolate/2/4.txt'
getfilestats('testdir/isolate/2/4.txt')
check_singlefile: all checks passed
grokdir: readdir: '3'
init_newfile(len 20, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/isolate/3'
getfilestats('testdir/isolate/3')
check_singlefile: all checks passed
grokdir: directory(symlink): recursing (-r/-R)
grokdir: scanning 'testdir/isolate/3' (order 1, recurse 1)
getdirstats('testdir/isolate/3', 0x7ffe428831c0, 0x7ffe428831c8)
traverse_check(dev 64256, ino 141738347058
traverse_check add left: 64256, 141738347058
travdone_alloc(dev 64256, ino 141738347058, hash 1801439851751416261)
travdone_alloc returned 0x7f88ab5b6bc8
grokdir: readdir: '.'
grokdir: readdir: '..'
grokdir: readdir: '5.txt'
init_newfile(len 26, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/isolate/3/5.txt'
getfilestats('testdir/isolate/3/5.txt')
check_singlefile: all checks passed
grokdir: readdir: '6.txt'
init_newfile(len 26, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/isolate/3/6.txt'
getfilestats('testdir/isolate/3/6.txt')
check_singlefile: all checks passed
grokdir: readdir: '7.txt'
init_newfile(len 26, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/isolate/3/7.txt'
getfilestats('testdir/isolate/3/7.txt')
check_singlefile: all checks passed
grokdir: readdir: '4'
init_newfile(len 20, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/isolate/4'
getfilestats('testdir/isolate/4')
check_singlefile: all checks passed
grokdir: directory(symlink): recursing (-r/-R)
grokdir: scanning 'testdir/isolate/4' (order 1, recurse 1)
getdirstats('testdir/isolate/4', 0x7ffe428831c0, 0x7ffe428831c8)
traverse_check(dev 64256, ino 143893062620
traverse_check add left: 64256, 143893062620
travdone_alloc(dev 64256, ino 143893062620, hash 17149707381834275057)
travdone_alloc returned 0x7f88ab5b6e50
grokdir: readdir: '.'
grokdir: readdir: '..'
grokdir: readdir: '8.txt'
init_newfile(len 26, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/isolate/4/8.txt'
getfilestats('testdir/isolate/4/8.txt')
check_singlefile: all checks passed
grokdir: readdir: 'recursed_a'
init_newfile(len 21, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/recursed_a'
getfilestats('testdir/recursed_a')
check_singlefile: all checks passed
grokdir: directory(symlink): recursing (-r/-R)
grokdir: scanning 'testdir/recursed_a' (order 1, recurse 1)
getdirstats('testdir/recursed_a', 0x7ffe42883250, 0x7ffe42883258)
traverse_check(dev 64256, ino 146149197925
traverse_check add right: 64256, 146149197925
travdone_alloc(dev 64256, ino 146149197925, hash 3638908499727193572)
travdone_alloc returned 0x7f88ab5b6fa8
grokdir: readdir: '.'
grokdir: readdir: '..'
grokdir: readdir: 'five'
init_newfile(len 26, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/recursed_a/five'
getfilestats('testdir/recursed_a/five')
check_singlefile: all checks passed
grokdir: readdir: 'five_2'
init_newfile(len 28, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/recursed_a/five_2'
getfilestats('testdir/recursed_a/five_2')
check_singlefile: all checks passed
grokdir: readdir: 'one'
init_newfile(len 25, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/recursed_a/one'
getfilestats('testdir/recursed_a/one')
check_singlefile: all checks passed
grokdir: readdir: 'one_2'
init_newfile(len 27, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/recursed_a/one_2'
getfilestats('testdir/recursed_a/one_2')
check_singlefile: all checks passed
grokdir: readdir: 'two'
init_newfile(len 25, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/recursed_a/two'
getfilestats('testdir/recursed_a/two')
check_singlefile: all checks passed
grokdir: readdir: 'two_2'
init_newfile(len 27, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/recursed_a/two_2'
getfilestats('testdir/recursed_a/two_2')
check_singlefile: all checks passed
grokdir: readdir: 'symlink_infinite_loop'
init_newfile(len 43, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/recursed_a/symlink_infinite_loop'
getfilestats('testdir/recursed_a/symlink_infinite_loop')
check_singlefile: all checks passed
grokdir: readdir: 'recursed_b'
init_newfile(len 21, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/recursed_b'
getfilestats('testdir/recursed_b')
check_singlefile: all checks passed
grokdir: directory(symlink): recursing (-r/-R)
grokdir: scanning 'testdir/recursed_b' (order 1, recurse 1)
getdirstats('testdir/recursed_b', 0x7ffe42883250, 0x7ffe42883258)
traverse_check(dev 64256, ino 148179452376
traverse_check add left: 64256, 148179452376
travdone_alloc(dev 64256, ino 148179452376, hash 17005592193766791040)
travdone_alloc returned 0x7f88ab5b74a0
grokdir: readdir: '.'
grokdir: readdir: '..'
grokdir: readdir: 'four'
init_newfile(len 26, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/recursed_b/four'
getfilestats('testdir/recursed_b/four')
check_singlefile: all checks passed
grokdir: readdir: 'one'
init_newfile(len 25, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/recursed_b/one'
getfilestats('testdir/recursed_b/one')
check_singlefile: all checks passed
grokdir: readdir: 'three'
init_newfile(len 27, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/recursed_b/three'
getfilestats('testdir/recursed_b/three')
check_singlefile: all checks passed
grokdir: readdir: 'two_plus_one'
init_newfile(len 34, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/recursed_b/two_plus_one'
getfilestats('testdir/recursed_b/two_plus_one')
check_singlefile: all checks passed
grokdir: readdir: 'recursed_c'
init_newfile(len 21, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/recursed_c'
getfilestats('testdir/recursed_c')
check_singlefile: all checks passed
grokdir: directory(symlink): recursing (-r/-R)
grokdir: scanning 'testdir/recursed_c' (order 1, recurse 1)
getdirstats('testdir/recursed_c', 0x7ffe42883250, 0x7ffe42883258)
traverse_check(dev 64256, ino 150327380206
traverse_check add left: 64256, 150327380206
travdone_alloc(dev 64256, ino 150327380206, hash 8574853691333417700)
travdone_alloc returned 0x7f88ab5b77c8
grokdir: readdir: '.'
grokdir: readdir: '..'
grokdir: readdir: 'level2'
init_newfile(len 28, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/recursed_c/level2'
getfilestats('testdir/recursed_c/level2')
check_singlefile: all checks passed
grokdir: directory(symlink): recursing (-r/-R)
grokdir: scanning 'testdir/recursed_c/level2' (order 1, recurse 1)
getdirstats('testdir/recursed_c/level2', 0x7ffe428831c0, 0x7ffe428831c8)
traverse_check(dev 64256, ino 152488907808
traverse_check add left: 64256, 152488907808
travdone_alloc(dev 64256, ino 152488907808, hash 1152921505431062026)
travdone_alloc returned 0x7f88ab5b7890
grokdir: readdir: '.'
grokdir: readdir: '..'
grokdir: readdir: 'five'
init_newfile(len 33, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/recursed_c/level2/five'
getfilestats('testdir/recursed_c/level2/five')
check_singlefile: all checks passed
grokdir: readdir: 'one'
init_newfile(len 32, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/recursed_c/level2/one'
getfilestats('testdir/recursed_c/level2/one')
check_singlefile: all checks passed
grokdir: readdir: 'two'
init_newfile(len 32, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/recursed_c/level2/two'
getfilestats('testdir/recursed_c/level2/two')
check_singlefile: all checks passed
grokdir: readdir: 'five'
init_newfile(len 26, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/recursed_c/five'
getfilestats('testdir/recursed_c/five')
check_singlefile: all checks passed
grokdir: readdir: 'one'
init_newfile(len 25, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/recursed_c/one'
getfilestats('testdir/recursed_c/one')
check_singlefile: all checks passed
grokdir: readdir: 'two'
init_newfile(len 25, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/recursed_c/two'
getfilestats('testdir/recursed_c/two')
check_singlefile: all checks passed
grokdir: readdir: 'symlink_test'
init_newfile(len 23, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/symlink_test'
getfilestats('testdir/symlink_test')
check_singlefile: all checks passed
grokdir: directory(symlink): recursing (-r/-R)
grokdir: scanning 'testdir/symlink_test' (order 1, recurse 1)
getdirstats('testdir/symlink_test', 0x7ffe42883250, 0x7ffe42883258)
traverse_check(dev 64256, ino 154671702284
traverse_check add right: 64256, 154671702284
travdone_alloc(dev 64256, ino 154671702284, hash 9655717601910821744)
travdone_alloc returned 0x7f88ab5b7c08
grokdir: readdir: '.'
grokdir: readdir: '..'
grokdir: readdir: 'regular_file'
init_newfile(len 36, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/symlink_test/regular_file'
getfilestats('testdir/symlink_test/regular_file')
check_singlefile: all checks passed
grokdir: readdir: 'symlinked_file'
init_newfile(len 38, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/symlink_test/symlinked_file'
getfilestats('testdir/symlink_test/symlinked_file')
check_singlefile: all checks passed
grokdir: not a regular file: testdir/symlink_test/symlinked_file
grokdir: readdir: 'unicode_dirnames'
init_newfile(len 27, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/unicode_dirnames'
getfilestats('testdir/unicode_dirnames')
check_singlefile: all checks passed
grokdir: directory(symlink): recursing (-r/-R)
grokdir: scanning 'testdir/unicode_dirnames' (order 1, recurse 1)
getdirstats('testdir/unicode_dirnames', 0x7ffe42883250, 0x7ffe42883258)
traverse_check(dev 64256, ino 156771743773
traverse_check add left: 64256, 156771743773
travdone_alloc(dev 64256, ino 156771743773, hash 1044835114382535036)
travdone_alloc returned 0x7f88ab5b7da0
grokdir: readdir: '.'
grokdir: readdir: '..'
grokdir: readdir: 'Ελληνιά'
init_newfile(len 42, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/unicode_dirnames/Ελληνιά'
getfilestats('testdir/unicode_dirnames/Ελληνιά')
check_singlefile: all checks passed
grokdir: directory(symlink): recursing (-r/-R)
grokdir: scanning 'testdir/unicode_dirnames/Ελληνιά' (order 1, recurse 1)
getdirstats('testdir/unicode_dirnames/Ελληνιά', 0x7ffe428831c0, 0x7ffe428831c8)
traverse_check(dev 64256, ino 158917372640
traverse_check add left: 64256, 158917372640
travdone_alloc(dev 64256, ino 158917372640, hash 8070450533084699477)
travdone_alloc returned 0x7f88ab5b7e78
grokdir: readdir: '.'
grokdir: readdir: '..'
grokdir: readdir: 'Unicode testfile.txt'
init_newfile(len 63, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/unicode_dirnames/Ελληνιά/Unicode testfile.txt'
getfilestats('testdir/unicode_dirnames/Ελληνιά/Unicode testfile.txt')
check_singlefile: all checks passed
grokdir: readdir: 'до свидания'
init_newfile(len 49, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/unicode_dirnames/до свидания'
getfilestats('testdir/unicode_dirnames/до свидания')
check_singlefile: all checks passed
grokdir: directory(symlink): recursing (-r/-R)
grokdir: scanning 'testdir/unicode_dirnames/до свидания' (order 1, recurse 1)
getdirstats('testdir/unicode_dirnames/до свидания', 0x7ffe428831c0, 0x7ffe428831c8)
traverse_check(dev 64256, ino 161113129627
traverse_check add right: 64256, 161113129627
travdone_alloc(dev 64256, ino 161113129627, hash 5584463538780474273)
travdone_alloc returned 0x7f88ab5b7fa0
grokdir: readdir: '.'
grokdir: readdir: '..'
grokdir: readdir: 'Unicode testfile.txt'
init_newfile(len 70, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/unicode_dirnames/до свидания/Unicode testfile.txt'
getfilestats('testdir/unicode_dirnames/до свидания/Unicode testfile.txt')
check_singlefile: all checks passed
grokdir: readdir: 'दसविदानिया'
init_newfile(len 58, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/unicode_dirnames/दसविदानिया'
getfilestats('testdir/unicode_dirnames/दसविदानिया')
check_singlefile: all checks passed
grokdir: directory(symlink): recursing (-r/-R)
grokdir: scanning 'testdir/unicode_dirnames/दसविदानिया' (order 1, recurse 1)
getdirstats('testdir/unicode_dirnames/दसविदानिया', 0x7ffe428831c0, 0x7ffe428831c8)
traverse_check(dev 64256, ino 163212166823
traverse_check add left: 64256, 163212166823
travdone_alloc(dev 64256, ino 163212166823, hash 6016809103012141571)
travdone_alloc returned 0x7f88ab5b80d8
grokdir: readdir: '.'
grokdir: readdir: '..'
grokdir: readdir: 'Unicode testfile.txt'
init_newfile(len 79, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/unicode_dirnames/दसविदानिया/Unicode testfile.txt'
getfilestats('testdir/unicode_dirnames/दसविदानिया/Unicode testfile.txt')
check_singlefile: all checks passed
grokdir: readdir: '怖い'
init_newfile(len 34, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/unicode_dirnames/怖い'
getfilestats('testdir/unicode_dirnames/怖い')
check_singlefile: all checks passed
grokdir: directory(symlink): recursing (-r/-R)
grokdir: scanning 'testdir/unicode_dirnames/怖い' (order 1, recurse 1)
getdirstats('testdir/unicode_dirnames/怖い', 0x7ffe428831c0, 0x7ffe428831c8)
traverse_check(dev 64256, ino 165358436700
traverse_check add left: 64256, 165358436700
travdone_alloc(dev 64256, ino 165358436700, hash 12538021363448811712)
travdone_alloc returned 0x7f88ab5b8200
grokdir: readdir: '.'
grokdir: readdir: '..'
grokdir: readdir: 'Unicode testfile.txt'
init_newfile(len 55, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/unicode_dirnames/怖い/Unicode testfile.txt'
getfilestats('testdir/unicode_dirnames/怖い/Unicode testfile.txt')
check_singlefile: all checks passed
grokdir: readdir: '행운을 빈다'
init_newfile(len 44, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/unicode_dirnames/행운을 빈다'
getfilestats('testdir/unicode_dirnames/행운을 빈다')
check_singlefile: all checks passed
grokdir: directory(symlink): recursing (-r/-R)
grokdir: scanning 'testdir/unicode_dirnames/행운을 빈다' (order 1, recurse 1)
getdirstats('testdir/unicode_dirnames/행운을 빈다', 0x7ffe428831c0, 0x7ffe428831c8)
traverse_check(dev 64256, ino 167504171313
traverse_check add left: 64256, 167504171313
travdone_alloc(dev 64256, ino 167504171313, hash 10988783091637551976)
travdone_alloc returned 0x7f88ab5b8318
grokdir: readdir: '.'
grokdir: readdir: '..'
grokdir: readdir: 'Unicode testfile.txt'
init_newfile(len 65, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/unicode_dirnames/행운을 빈다/Unicode testfile.txt'
getfilestats('testdir/unicode_dirnames/행운을 빈다/Unicode testfile.txt')
check_singlefile: all checks passed
grokdir: readdir: 'unicode_filenames'
init_newfile(len 28, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/unicode_filenames'
getfilestats('testdir/unicode_filenames')
check_singlefile: all checks passed
grokdir: directory(symlink): recursing (-r/-R)
grokdir: scanning 'testdir/unicode_filenames' (order 1, recurse 1)
getdirstats('testdir/unicode_filenames', 0x7ffe42883250, 0x7ffe42883258)
traverse_check(dev 64256, ino 169654196973
traverse_check add right: 64256, 169654196973
travdone_alloc(dev 64256, ino 169654196973, hash 8538824894352201421)
travdone_alloc returned 0x7f88ab5b8430
grokdir: readdir: '.'
grokdir: readdir: '..'
grokdir: readdir: 'Ελληνιά'
init_newfile(len 43, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/unicode_filenames/Ελληνιά'
getfilestats('testdir/unicode_filenames/Ελληνιά')
check_singlefile: all checks passed
grokdir: readdir: 'до свидания'
init_newfile(len 50, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/unicode_filenames/до свидания'
getfilestats('testdir/unicode_filenames/до свидания')
check_singlefile: all checks passed
grokdir: readdir: 'दसविदानिया'
init_newfile(len 59, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/unicode_filenames/दसविदानिया'
getfilestats('testdir/unicode_filenames/दसविदानिया')
check_singlefile: all checks passed
grokdir: readdir: '怖い'
init_newfile(len 35, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/unicode_filenames/怖い'
getfilestats('testdir/unicode_filenames/怖い')
check_singlefile: all checks passed
grokdir: readdir: '행운을 빈다'
init_newfile(len 45, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/unicode_filenames/행운을 빈다'
getfilestats('testdir/unicode_filenames/행운을 빈다')
check_singlefile: all checks passed
grokdir: readdir: 'cassé'
init_newfile(len 35, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/unicode_filenames/cassé'
getfilestats('testdir/unicode_filenames/cassé')
check_singlefile: all checks passed
grokdir: readdir: '.hidden_two'
init_newfile(len 22, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/.hidden_two'
getfilestats('testdir/.hidden_two')
check_singlefile: all checks passed
grokdir: readdir: 'larger_file_1'
init_newfile(len 24, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/larger_file_1'
getfilestats('testdir/larger_file_1')
check_singlefile: all checks passed
grokdir: readdir: 'larger_file_3'
init_newfile(len 24, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/larger_file_3'
getfilestats('testdir/larger_file_3')
check_singlefile: all checks passed
grokdir: readdir: 'larger_file_4'
init_newfile(len 24, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/larger_file_4'
getfilestats('testdir/larger_file_4')
check_singlefile: all checks passed
grokdir: readdir: 'nine_upsidedown'
init_newfile(len 26, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/nine_upsidedown'
getfilestats('testdir/nine_upsidedown')
check_singlefile: all checks passed
grokdir: readdir: 'notsotinydupe1'
init_newfile(len 25, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/notsotinydupe1'
getfilestats('testdir/notsotinydupe1')
check_singlefile: all checks passed
grokdir: readdir: 'with spaces a'
init_newfile(len 24, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/with spaces a'
getfilestats('testdir/with spaces a')
check_singlefile: all checks passed
grokdir: readdir: 'zero_a'
init_newfile(len 17, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/zero_a'
getfilestats('testdir/zero_a')
check_singlefile: excluding zero-length empty file (-z not set)
grokdir: check_singlefile rejected file
grokdir: readdir: 'zero_b'
init_newfile(len 17, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/zero_b'
getfilestats('testdir/zero_b')
check_singlefile: excluding zero-length empty file (-z not set)
grokdir: check_singlefile rejected file
grokdir: readdir: 'Zero_C'
init_newfile(len 17, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/Zero_C'
getfilestats('testdir/Zero_C')
check_singlefile: excluding zero-length empty file (-z not set)
grokdir: check_singlefile rejected file
grokdir: readdir: 'atinydupe0'
init_newfile(len 21, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/atinydupe0'
getfilestats('testdir/atinydupe0')
check_singlefile: all checks passed
grokdir: readdir: 'extensions'
init_newfile(len 21, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/extensions'
getfilestats('testdir/extensions')
check_singlefile: all checks passed
grokdir: directory(symlink): recursing (-r/-R)
grokdir: scanning 'testdir/extensions' (order 1, recurse 1)
getdirstats('testdir/extensions', 0x7ffe42883250, 0x7ffe42883258)
traverse_check(dev 64256, ino 171805580249
traverse_check add right: 64256, 171805580249
travdone_alloc(dev 64256, ino 171805580249, hash 17041620990831899789)
travdone_alloc returned 0x7f88ab5b8d68
grokdir: readdir: '.'
grokdir: readdir: '..'
grokdir: readdir: 'fake_doc_001.doc'
init_newfile(len 38, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/extensions/fake_doc_001.doc'
getfilestats('testdir/extensions/fake_doc_001.doc')
check_singlefile: all checks passed
grokdir: readdir: 'fake_doc_002.doc'
init_newfile(len 38, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/extensions/fake_doc_002.doc'
getfilestats('testdir/extensions/fake_doc_002.doc')
check_singlefile: all checks passed
grokdir: readdir: 'fake_mp3_001.mp3'
init_newfile(len 38, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/extensions/fake_mp3_001.mp3'
getfilestats('testdir/extensions/fake_mp3_001.mp3')
check_singlefile: all checks passed
grokdir: readdir: 'fake_mp3_002.mp3'
init_newfile(len 38, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/extensions/fake_mp3_002.mp3'
getfilestats('testdir/extensions/fake_mp3_002.mp3')
check_singlefile: all checks passed
grokdir: readdir: 'fake_mp4_001.mp4'
init_newfile(len 38, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/extensions/fake_mp4_001.mp4'
getfilestats('testdir/extensions/fake_mp4_001.mp4')
check_singlefile: all checks passed
grokdir: readdir: 'fake_mp4_002.mp4'
init_newfile(len 38, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/extensions/fake_mp4_002.mp4'
getfilestats('testdir/extensions/fake_mp4_002.mp4')
check_singlefile: all checks passed
grokdir: readdir: 'numeric_sort_copysuffixes'
init_newfile(len 36, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/numeric_sort_copysuffixes'
getfilestats('testdir/numeric_sort_copysuffixes')
check_singlefile: all checks passed
grokdir: directory(symlink): recursing (-r/-R)
grokdir: scanning 'testdir/numeric_sort_copysuffixes' (order 1, recurse 1)
getdirstats('testdir/numeric_sort_copysuffixes', 0x7ffe42883250, 0x7ffe42883258)
traverse_check(dev 64256, ino 173994828766
traverse_check add right: 64256, 173994828766
travdone_alloc(dev 64256, ino 173994828766, hash 17221764975930995505)
travdone_alloc returned 0x7f88ab5b9188
grokdir: readdir: '.'
grokdir: readdir: '..'
grokdir: readdir: 'file1-0 (1).jpg'
init_newfile(len 52, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/numeric_sort_copysuffixes/file1-0 (1).jpg'
getfilestats('testdir/numeric_sort_copysuffixes/file1-0 (1).jpg')
check_singlefile: all checks passed
grokdir: readdir: 'file1-0#1.jpg'
init_newfile(len 50, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/numeric_sort_copysuffixes/file1-0#1.jpg'
getfilestats('testdir/numeric_sort_copysuffixes/file1-0#1.jpg')
check_singlefile: all checks passed
grokdir: readdir: 'file1-0.jpg'
init_newfile(len 48, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/numeric_sort_copysuffixes/file1-0.jpg'
getfilestats('testdir/numeric_sort_copysuffixes/file1-0.jpg')
check_singlefile: all checks passed
grokdir: readdir: 'file1-1 (Copy) (2) (2).jpg'
init_newfile(len 63, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2) (2).jpg'
getfilestats('testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2) (2).jpg')
check_singlefile: all checks passed
grokdir: readdir: 'file1-1 (Copy) (2).jpg'
init_newfile(len 59, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2).jpg'
getfilestats('testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2).jpg')
check_singlefile: all checks passed
grokdir: readdir: 'file1-1 (Copy).jpg'
init_newfile(len 55, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/numeric_sort_copysuffixes/file1-1 (Copy).jpg'
getfilestats('testdir/numeric_sort_copysuffixes/file1-1 (Copy).jpg')
check_singlefile: all checks passed
grokdir: readdir: 'file1-1.jpg'
init_newfile(len 48, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/numeric_sort_copysuffixes/file1-1.jpg'
getfilestats('testdir/numeric_sort_copysuffixes/file1-1.jpg')
check_singlefile: all checks passed
grokdir: readdir: 'file1-10.jpg'
init_newfile(len 49, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/numeric_sort_copysuffixes/file1-10.jpg'
getfilestats('testdir/numeric_sort_copysuffixes/file1-10.jpg')
check_singlefile: all checks passed
grokdir: readdir: 'file1-2.jpg'
init_newfile(len 48, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/numeric_sort_copysuffixes/file1-2.jpg'
getfilestats('testdir/numeric_sort_copysuffixes/file1-2.jpg')
check_singlefile: all checks passed
grokdir: readdir: 'numeric_sort_digitsafter'
init_newfile(len 35, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/numeric_sort_digitsafter'
getfilestats('testdir/numeric_sort_digitsafter')
check_singlefile: all checks passed
grokdir: directory(symlink): recursing (-r/-R)
grokdir: scanning 'testdir/numeric_sort_digitsafter' (order 1, recurse 1)
getdirstats('testdir/numeric_sort_digitsafter', 0x7ffe42883250, 0x7ffe42883258)
traverse_check(dev 64256, ino 176100811787
traverse_check add left: 64256, 176100811787
travdone_alloc(dev 64256, ino 176100811787, hash 396316768078935698)
travdone_alloc returned 0x7f88ab5b9810
grokdir: readdir: '.'
grokdir: readdir: '..'
grokdir: readdir: 'file001'
init_newfile(len 43, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/numeric_sort_digitsafter/file001'
getfilestats('testdir/numeric_sort_digitsafter/file001')
check_singlefile: all checks passed
grokdir: readdir: 'file001a'
init_newfile(len 44, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/numeric_sort_digitsafter/file001a'
getfilestats('testdir/numeric_sort_digitsafter/file001a')
check_singlefile: all checks passed
grokdir: readdir: 'file002'
init_newfile(len 43, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/numeric_sort_digitsafter/file002'
getfilestats('testdir/numeric_sort_digitsafter/file002')
check_singlefile: all checks passed
grokdir: readdir: 'file020'
init_newfile(len 43, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/numeric_sort_digitsafter/file020'
getfilestats('testdir/numeric_sort_digitsafter/file020')
check_singlefile: all checks passed
grokdir: readdir: 'file021'
init_newfile(len 43, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/numeric_sort_digitsafter/file021'
getfilestats('testdir/numeric_sort_digitsafter/file021')
check_singlefile: all checks passed
grokdir: readdir: 'file030'
init_newfile(len 43, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/numeric_sort_digitsafter/file030'
getfilestats('testdir/numeric_sort_digitsafter/file030')
check_singlefile: all checks passed
grokdir: readdir: 'file1'
init_newfile(len 41, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/numeric_sort_digitsafter/file1'
getfilestats('testdir/numeric_sort_digitsafter/file1')
check_singlefile: all checks passed
grokdir: readdir: 'file10'
init_newfile(len 42, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/numeric_sort_digitsafter/file10'
getfilestats('testdir/numeric_sort_digitsafter/file10')
check_singlefile: all checks passed
grokdir: readdir: 'file100'
init_newfile(len 43, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/numeric_sort_digitsafter/file100'
getfilestats('testdir/numeric_sort_digitsafter/file100')
check_singlefile: all checks passed
grokdir: readdir: 'file10a'
init_newfile(len 43, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/numeric_sort_digitsafter/file10a'
getfilestats('testdir/numeric_sort_digitsafter/file10a')
check_singlefile: all checks passed
grokdir: readdir: 'file1a2'
init_newfile(len 43, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/numeric_sort_digitsafter/file1a2'
getfilestats('testdir/numeric_sort_digitsafter/file1a2')
check_singlefile: all checks passed
grokdir: readdir: 'file2'
init_newfile(len 41, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/numeric_sort_digitsafter/file2'
getfilestats('testdir/numeric_sort_digitsafter/file2')
check_singlefile: all checks passed
grokdir: readdir: 'file3'
init_newfile(len 41, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/numeric_sort_digitsafter/file3'
getfilestats('testdir/numeric_sort_digitsafter/file3')
check_singlefile: all checks passed
grokdir: readdir: 'numeric_sort_startwithzero'
init_newfile(len 37, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/numeric_sort_startwithzero'
getfilestats('testdir/numeric_sort_startwithzero')
check_singlefile: all checks passed
grokdir: directory(symlink): recursing (-r/-R)
grokdir: scanning 'testdir/numeric_sort_startwithzero' (order 1, recurse 1)
getdirstats('testdir/numeric_sort_startwithzero', 0x7ffe42883250, 0x7ffe42883258)
traverse_check(dev 64256, ino 178242951429
traverse_check add right: 64256, 178242951429
travdone_alloc(dev 64256, ino 178242951429, hash 9403516022824111564)
travdone_alloc returned 0x7f88ab5ba0f8
grokdir: readdir: '.'
grokdir: readdir: '..'
grokdir: readdir: '00file4'
init_newfile(len 45, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/numeric_sort_startwithzero/00file4'
getfilestats('testdir/numeric_sort_startwithzero/00file4')
check_singlefile: all checks passed
grokdir: readdir: '00file5'
init_newfile(len 45, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/numeric_sort_startwithzero/00file5'
getfilestats('testdir/numeric_sort_startwithzero/00file5')
check_singlefile: all checks passed
grokdir: readdir: '00file5a'
init_newfile(len 46, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/numeric_sort_startwithzero/00file5a'
getfilestats('testdir/numeric_sort_startwithzero/00file5a')
check_singlefile: all checks passed
grokdir: readdir: '01file4'
init_newfile(len 45, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/numeric_sort_startwithzero/01file4'
getfilestats('testdir/numeric_sort_startwithzero/01file4')
check_singlefile: all checks passed
grokdir: readdir: '0file1'
init_newfile(len 44, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/numeric_sort_startwithzero/0file1'
getfilestats('testdir/numeric_sort_startwithzero/0file1')
check_singlefile: all checks passed
grokdir: readdir: '0file2'
init_newfile(len 44, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/numeric_sort_startwithzero/0file2'
getfilestats('testdir/numeric_sort_startwithzero/0file2')
check_singlefile: all checks passed
grokdir: readdir: '0file3'
init_newfile(len 44, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/numeric_sort_startwithzero/0file3'
getfilestats('testdir/numeric_sort_startwithzero/0file3')
check_singlefile: all checks passed
grokdir: readdir: '1file1'
init_newfile(len 44, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/numeric_sort_startwithzero/1file1'
getfilestats('testdir/numeric_sort_startwithzero/1file1')
check_singlefile: all checks passed
grokdir: readdir: '1file2'
init_newfile(len 44, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/numeric_sort_startwithzero/1file2'
getfilestats('testdir/numeric_sort_startwithzero/1file2')
check_singlefile: all checks passed
grokdir: readdir: '1file3'
init_newfile(len 44, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/numeric_sort_startwithzero/1file3'
getfilestats('testdir/numeric_sort_startwithzero/1file3')
check_singlefile: all checks passed
grokdir: readdir: 'symlink_dir'
init_newfile(len 22, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/symlink_dir'
getfilestats('testdir/symlink_dir')
check_singlefile: all checks passed
grokdir: readdir: 'symlink_twice_one'
init_newfile(len 28, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/symlink_twice_one'
getfilestats('testdir/symlink_twice_one')
check_singlefile: all checks passed
grokdir: not a regular file: testdir/symlink_twice_one
grokdir: readdir: 'symlink_two'
init_newfile(len 22, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/symlink_two'
getfilestats('testdir/symlink_two')
check_singlefile: all checks passed
grokdir: not a regular file: testdir/symlink_two
grokdir: readdir: 'larger_file_2'
init_newfile(len 24, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/larger_file_2'
getfilestats('testdir/larger_file_2')
check_singlefile: all checks passed
grokdir: readdir: 'notsotinydupe2'
init_newfile(len 25, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/notsotinydupe2'
getfilestats('testdir/notsotinydupe2')
check_singlefile: all checks passed
grokdir: readdir: 'tinydupe2'
init_newfile(len 20, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/tinydupe2'
getfilestats('testdir/tinydupe2')
check_singlefile: all checks passed
grokdir: readdir: 'twice_one'
init_newfile(len 20, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/twice_one'
getfilestats('testdir/twice_one')
check_singlefile: all checks passed
grokdir: readdir: 'two'
init_newfile(len 14, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/two'
getfilestats('testdir/two')
check_singlefile: all checks passed
grokdir: readdir: 'with spaces b'
init_newfile(len 24, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/with spaces b'
getfilestats('testdir/with spaces b')
check_singlefile: all checks passed
grokdir: readdir: 'Stilltinydupe1'
init_newfile(len 25, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/Stilltinydupe1'
getfilestats('testdir/Stilltinydupe1')
check_singlefile: all checks passed
grokdir: readdir: 'Tinydupe3'
init_newfile(len 20, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/Tinydupe3'
getfilestats('testdir/Tinydupe3')
check_singlefile: all checks passed
grokdir: readdir: 'tinydupe4'
init_newfile(len 20, filelistp 0x55a32e822360)
check_singlefile: checking 'testdir/tinydupe4'
getfilestats('testdir/tinydupe4')
check_singlefile: all checks passed
travdone_free(0x7f88ab5b6080)
travdone_free(0x7f88ab5b6140)
travdone_free(0x7f88ab5b6bc8)
travdone_free(0x7f88ab5b7890)
travdone_free(0x7f88ab5b7da0)
travdone_free(0x7f88ab5b9810)
travdone_free(0x7f88ab5b6fa8)
travdone_free(0x7f88ab5b7fa0)
travdone_free(0x7f88ab5b62a8)
travdone_free(0x7f88ab5b67e8)
travdone_free(0x7f88ab5b77c8)
travdone_free(0x7f88ab5b7e78)
travdone_free(0x7f88ab5b80d8)
travdone_free(0x7f88ab5b8430)
travdone_free(0x7f88ab5ba0f8)
travdone_free(0x7f88ab5b7c08)
travdone_free(0x7f88ab5b6728)
travdone_free(0x7f88ab5b8200)
travdone_free(0x7f88ab5b8318)
travdone_free(0x7f88ab5b69d8)
travdone_free(0x7f88ab5b6e50)
travdone_free(0x7f88ab5b74a0)
travdone_free(0x7f88ab5b8d68)
travdone_free(0x7f88ab5b9188)
MAIN: current file: testdir/tinydupe4
registerfile(direction 0)
MAIN: current file: testdir/Tinydupe3
checkmatch ('testdir/tinydupe4', 'testdir/Tinydupe3')
check_conditions('testdir/tinydupe4', 'testdir/Tinydupe3')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/tinydupe4', 4096)
get_filehash: returning hash: 0xcafc7706cee4572b
get_filehash('testdir/Tinydupe3', 4096)
get_filehash: returning hash: 0xcafc7706cee4572b
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/tinydupe4', 'testdir/Tinydupe3'
MAIN: current file: testdir/Stilltinydupe1
checkmatch ('testdir/Tinydupe3', 'testdir/Stilltinydupe1')
check_conditions('testdir/Tinydupe3', 'testdir/Stilltinydupe1')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/Stilltinydupe1', 4096)
get_filehash: returning hash: 0xcafc7706cee4572b
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/Tinydupe3', 'testdir/Stilltinydupe1'
MAIN: current file: testdir/with spaces b
checkmatch ('testdir/Stilltinydupe1', 'testdir/with spaces b')
check_conditions('testdir/Stilltinydupe1', 'testdir/with spaces b')
check_conditions: no match: size of file1 < file2 (1 < 12)
checkmatch: registering file: right
registerfile(direction 2)
MAIN: current file: testdir/two
checkmatch ('testdir/Stilltinydupe1', 'testdir/two')
check_conditions('testdir/Stilltinydupe1', 'testdir/two')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/two')
check_conditions('testdir/with spaces b', 'testdir/two')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: registering file: left
registerfile(direction 1)
MAIN: current file: testdir/twice_one
checkmatch ('testdir/Stilltinydupe1', 'testdir/twice_one')
check_conditions('testdir/Stilltinydupe1', 'testdir/twice_one')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/twice_one')
check_conditions('testdir/with spaces b', 'testdir/twice_one')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/two', 'testdir/twice_one')
check_conditions('testdir/two', 'testdir/twice_one')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/two', 4096)
get_filehash: returning hash: 0x6e15961ef9042d0f
get_filehash('testdir/twice_one', 4096)
get_filehash: returning hash: 0x6e15961ef9042d0f
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/two', 'testdir/twice_one'
MAIN: current file: testdir/tinydupe2
checkmatch ('testdir/Stilltinydupe1', 'testdir/tinydupe2')
check_conditions('testdir/Stilltinydupe1', 'testdir/tinydupe2')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/tinydupe2', 4096)
get_filehash: returning hash: 0xcafc7706cee4572b
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/Stilltinydupe1', 'testdir/tinydupe2'
MAIN: current file: testdir/notsotinydupe2
checkmatch ('testdir/Stilltinydupe1', 'testdir/notsotinydupe2')
check_conditions('testdir/Stilltinydupe1', 'testdir/notsotinydupe2')
check_conditions: no match: size of file1 < file2 (1 < 66)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/notsotinydupe2')
check_conditions('testdir/with spaces b', 'testdir/notsotinydupe2')
check_conditions: no match: size of file1 < file2 (12 < 66)
checkmatch: registering file: right
registerfile(direction 2)
MAIN: current file: testdir/larger_file_2
checkmatch ('testdir/Stilltinydupe1', 'testdir/larger_file_2')
check_conditions('testdir/Stilltinydupe1', 'testdir/larger_file_2')
check_conditions: no match: size of file1 < file2 (1 < 66800)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/larger_file_2')
check_conditions('testdir/with spaces b', 'testdir/larger_file_2')
check_conditions: no match: size of file1 < file2 (12 < 66800)
checkmatch: recursing tree: right
checkmatch ('testdir/notsotinydupe2', 'testdir/larger_file_2')
check_conditions('testdir/notsotinydupe2', 'testdir/larger_file_2')
check_conditions: no match: size of file1 < file2 (66 < 66800)
checkmatch: registering file: right
registerfile(direction 2)
MAIN: current file: testdir/numeric_sort_startwithzero/1file3
checkmatch ('testdir/Stilltinydupe1', 'testdir/numeric_sort_startwithzero/1file3')
check_conditions('testdir/Stilltinydupe1', 'testdir/numeric_sort_startwithzero/1file3')
check_conditions: no match: size of file1 < file2 (1 < 6)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/numeric_sort_startwithzero/1file3')
check_conditions('testdir/with spaces b', 'testdir/numeric_sort_startwithzero/1file3')
check_conditions: no match: size of file1 > file2 (12 > 6)
checkmatch: recursing tree: left
checkmatch ('testdir/twice_one', 'testdir/numeric_sort_startwithzero/1file3')
check_conditions('testdir/twice_one', 'testdir/numeric_sort_startwithzero/1file3')
check_conditions: no match: size of file1 < file2 (4 < 6)
checkmatch: registering file: right
registerfile(direction 2)
MAIN: current file: testdir/numeric_sort_startwithzero/1file2
checkmatch ('testdir/Stilltinydupe1', 'testdir/numeric_sort_startwithzero/1file2')
check_conditions('testdir/Stilltinydupe1', 'testdir/numeric_sort_startwithzero/1file2')
check_conditions: no match: size of file1 < file2 (1 < 6)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/numeric_sort_startwithzero/1file2')
check_conditions('testdir/with spaces b', 'testdir/numeric_sort_startwithzero/1file2')
check_conditions: no match: size of file1 > file2 (12 > 6)
checkmatch: recursing tree: left
checkmatch ('testdir/twice_one', 'testdir/numeric_sort_startwithzero/1file2')
check_conditions('testdir/twice_one', 'testdir/numeric_sort_startwithzero/1file2')
check_conditions: no match: size of file1 < file2 (4 < 6)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/1file3', 'testdir/numeric_sort_startwithzero/1file2')
check_conditions('testdir/numeric_sort_startwithzero/1file3', 'testdir/numeric_sort_startwithzero/1file2')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/numeric_sort_startwithzero/1file3', 4096)
get_filehash: returning hash: 0xd6a66bfd8d35509b
get_filehash('testdir/numeric_sort_startwithzero/1file2', 4096)
get_filehash: returning hash: 0x1068c51e5be4a473
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: registering file: left
registerfile(direction 1)
MAIN: current file: testdir/numeric_sort_startwithzero/1file1
checkmatch ('testdir/Stilltinydupe1', 'testdir/numeric_sort_startwithzero/1file1')
check_conditions('testdir/Stilltinydupe1', 'testdir/numeric_sort_startwithzero/1file1')
check_conditions: no match: size of file1 < file2 (1 < 6)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/numeric_sort_startwithzero/1file1')
check_conditions('testdir/with spaces b', 'testdir/numeric_sort_startwithzero/1file1')
check_conditions: no match: size of file1 > file2 (12 > 6)
checkmatch: recursing tree: left
checkmatch ('testdir/twice_one', 'testdir/numeric_sort_startwithzero/1file1')
check_conditions('testdir/twice_one', 'testdir/numeric_sort_startwithzero/1file1')
check_conditions: no match: size of file1 < file2 (4 < 6)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/1file3', 'testdir/numeric_sort_startwithzero/1file1')
check_conditions('testdir/numeric_sort_startwithzero/1file3', 'testdir/numeric_sort_startwithzero/1file1')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/numeric_sort_startwithzero/1file1', 4096)
get_filehash: returning hash: 0x1068c51e5be4a473
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_startwithzero/1file2', 'testdir/numeric_sort_startwithzero/1file1')
check_conditions('testdir/numeric_sort_startwithzero/1file2', 'testdir/numeric_sort_startwithzero/1file1')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/numeric_sort_startwithzero/1file2', 'testdir/numeric_sort_startwithzero/1file1'
MAIN: current file: testdir/numeric_sort_startwithzero/0file3
checkmatch ('testdir/Stilltinydupe1', 'testdir/numeric_sort_startwithzero/0file3')
check_conditions('testdir/Stilltinydupe1', 'testdir/numeric_sort_startwithzero/0file3')
check_conditions: no match: size of file1 < file2 (1 < 6)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/numeric_sort_startwithzero/0file3')
check_conditions('testdir/with spaces b', 'testdir/numeric_sort_startwithzero/0file3')
check_conditions: no match: size of file1 > file2 (12 > 6)
checkmatch: recursing tree: left
checkmatch ('testdir/twice_one', 'testdir/numeric_sort_startwithzero/0file3')
check_conditions('testdir/twice_one', 'testdir/numeric_sort_startwithzero/0file3')
check_conditions: no match: size of file1 < file2 (4 < 6)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/1file3', 'testdir/numeric_sort_startwithzero/0file3')
check_conditions('testdir/numeric_sort_startwithzero/1file3', 'testdir/numeric_sort_startwithzero/0file3')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/numeric_sort_startwithzero/0file3', 4096)
get_filehash: returning hash: 0xd6a66bfd8d35509b
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/numeric_sort_startwithzero/1file3', 'testdir/numeric_sort_startwithzero/0file3'
MAIN: current file: testdir/numeric_sort_startwithzero/0file2
checkmatch ('testdir/Stilltinydupe1', 'testdir/numeric_sort_startwithzero/0file2')
check_conditions('testdir/Stilltinydupe1', 'testdir/numeric_sort_startwithzero/0file2')
check_conditions: no match: size of file1 < file2 (1 < 6)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/numeric_sort_startwithzero/0file2')
check_conditions('testdir/with spaces b', 'testdir/numeric_sort_startwithzero/0file2')
check_conditions: no match: size of file1 > file2 (12 > 6)
checkmatch: recursing tree: left
checkmatch ('testdir/twice_one', 'testdir/numeric_sort_startwithzero/0file2')
check_conditions('testdir/twice_one', 'testdir/numeric_sort_startwithzero/0file2')
check_conditions: no match: size of file1 < file2 (4 < 6)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_startwithzero/0file2')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_startwithzero/0file2')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/numeric_sort_startwithzero/0file2', 4096)
get_filehash: returning hash: 0xe08f7e1d0a20acc9
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: registering file: right
registerfile(direction 2)
MAIN: current file: testdir/numeric_sort_startwithzero/0file1
checkmatch ('testdir/Stilltinydupe1', 'testdir/numeric_sort_startwithzero/0file1')
check_conditions('testdir/Stilltinydupe1', 'testdir/numeric_sort_startwithzero/0file1')
check_conditions: no match: size of file1 < file2 (1 < 6)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/numeric_sort_startwithzero/0file1')
check_conditions('testdir/with spaces b', 'testdir/numeric_sort_startwithzero/0file1')
check_conditions: no match: size of file1 > file2 (12 > 6)
checkmatch: recursing tree: left
checkmatch ('testdir/twice_one', 'testdir/numeric_sort_startwithzero/0file1')
check_conditions('testdir/twice_one', 'testdir/numeric_sort_startwithzero/0file1')
check_conditions: no match: size of file1 < file2 (4 < 6)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_startwithzero/0file1')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_startwithzero/0file1')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/numeric_sort_startwithzero/0file1', 4096)
get_filehash: returning hash: 0xe08f7e1d0a20acc9
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file2', 'testdir/numeric_sort_startwithzero/0file1')
check_conditions('testdir/numeric_sort_startwithzero/0file2', 'testdir/numeric_sort_startwithzero/0file1')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/numeric_sort_startwithzero/0file2', 'testdir/numeric_sort_startwithzero/0file1'
MAIN: current file: testdir/numeric_sort_startwithzero/01file4
checkmatch ('testdir/Stilltinydupe1', 'testdir/numeric_sort_startwithzero/01file4')
check_conditions('testdir/Stilltinydupe1', 'testdir/numeric_sort_startwithzero/01file4')
check_conditions: no match: size of file1 < file2 (1 < 6)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/numeric_sort_startwithzero/01file4')
check_conditions('testdir/with spaces b', 'testdir/numeric_sort_startwithzero/01file4')
check_conditions: no match: size of file1 > file2 (12 > 6)
checkmatch: recursing tree: left
checkmatch ('testdir/twice_one', 'testdir/numeric_sort_startwithzero/01file4')
check_conditions('testdir/twice_one', 'testdir/numeric_sort_startwithzero/01file4')
check_conditions: no match: size of file1 < file2 (4 < 6)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_startwithzero/01file4')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_startwithzero/01file4')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/numeric_sort_startwithzero/01file4', 4096)
get_filehash: returning hash: 0xebed2c35393feb12
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file1', 'testdir/numeric_sort_startwithzero/01file4')
check_conditions('testdir/numeric_sort_startwithzero/0file1', 'testdir/numeric_sort_startwithzero/01file4')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: registering file: right
registerfile(direction 2)
MAIN: current file: testdir/numeric_sort_startwithzero/00file5a
checkmatch ('testdir/Stilltinydupe1', 'testdir/numeric_sort_startwithzero/00file5a')
check_conditions('testdir/Stilltinydupe1', 'testdir/numeric_sort_startwithzero/00file5a')
check_conditions: no match: size of file1 < file2 (1 < 6)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/numeric_sort_startwithzero/00file5a')
check_conditions('testdir/with spaces b', 'testdir/numeric_sort_startwithzero/00file5a')
check_conditions: no match: size of file1 > file2 (12 > 6)
checkmatch: recursing tree: left
checkmatch ('testdir/twice_one', 'testdir/numeric_sort_startwithzero/00file5a')
check_conditions('testdir/twice_one', 'testdir/numeric_sort_startwithzero/00file5a')
check_conditions: no match: size of file1 < file2 (4 < 6)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_startwithzero/00file5a')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_startwithzero/00file5a')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/numeric_sort_startwithzero/00file5a', 4096)
get_filehash: returning hash: 0x9edff60016657743
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_startwithzero/00file5a')
check_conditions('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_startwithzero/00file5a')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: registering file: right
registerfile(direction 2)
MAIN: current file: testdir/numeric_sort_startwithzero/00file5
checkmatch ('testdir/Stilltinydupe1', 'testdir/numeric_sort_startwithzero/00file5')
check_conditions('testdir/Stilltinydupe1', 'testdir/numeric_sort_startwithzero/00file5')
check_conditions: no match: size of file1 < file2 (1 < 6)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/numeric_sort_startwithzero/00file5')
check_conditions('testdir/with spaces b', 'testdir/numeric_sort_startwithzero/00file5')
check_conditions: no match: size of file1 > file2 (12 > 6)
checkmatch: recursing tree: left
checkmatch ('testdir/twice_one', 'testdir/numeric_sort_startwithzero/00file5')
check_conditions('testdir/twice_one', 'testdir/numeric_sort_startwithzero/00file5')
check_conditions: no match: size of file1 < file2 (4 < 6)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_startwithzero/00file5')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_startwithzero/00file5')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/numeric_sort_startwithzero/00file5', 4096)
get_filehash: returning hash: 0x9edff60016657743
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_startwithzero/00file5')
check_conditions('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_startwithzero/00file5')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/00file5a', 'testdir/numeric_sort_startwithzero/00file5')
check_conditions('testdir/numeric_sort_startwithzero/00file5a', 'testdir/numeric_sort_startwithzero/00file5')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/numeric_sort_startwithzero/00file5a', 'testdir/numeric_sort_startwithzero/00file5'
MAIN: current file: testdir/numeric_sort_startwithzero/00file4
checkmatch ('testdir/Stilltinydupe1', 'testdir/numeric_sort_startwithzero/00file4')
check_conditions('testdir/Stilltinydupe1', 'testdir/numeric_sort_startwithzero/00file4')
check_conditions: no match: size of file1 < file2 (1 < 6)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/numeric_sort_startwithzero/00file4')
check_conditions('testdir/with spaces b', 'testdir/numeric_sort_startwithzero/00file4')
check_conditions: no match: size of file1 > file2 (12 > 6)
checkmatch: recursing tree: left
checkmatch ('testdir/twice_one', 'testdir/numeric_sort_startwithzero/00file4')
check_conditions('testdir/twice_one', 'testdir/numeric_sort_startwithzero/00file4')
check_conditions: no match: size of file1 < file2 (4 < 6)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_startwithzero/00file4')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_startwithzero/00file4')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/numeric_sort_startwithzero/00file4', 4096)
get_filehash: returning hash: 0xebed2c35393feb12
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file1', 'testdir/numeric_sort_startwithzero/00file4')
check_conditions('testdir/numeric_sort_startwithzero/0file1', 'testdir/numeric_sort_startwithzero/00file4')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/01file4', 'testdir/numeric_sort_startwithzero/00file4')
check_conditions('testdir/numeric_sort_startwithzero/01file4', 'testdir/numeric_sort_startwithzero/00file4')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/numeric_sort_startwithzero/01file4', 'testdir/numeric_sort_startwithzero/00file4'
MAIN: current file: testdir/numeric_sort_digitsafter/file3
checkmatch ('testdir/Stilltinydupe1', 'testdir/numeric_sort_digitsafter/file3')
check_conditions('testdir/Stilltinydupe1', 'testdir/numeric_sort_digitsafter/file3')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/numeric_sort_digitsafter/file3')
check_conditions('testdir/with spaces b', 'testdir/numeric_sort_digitsafter/file3')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/twice_one', 'testdir/numeric_sort_digitsafter/file3')
check_conditions('testdir/twice_one', 'testdir/numeric_sort_digitsafter/file3')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/numeric_sort_digitsafter/file3', 4096)
get_filehash: returning hash: 0x703c0c8c1824552d
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_digitsafter/file3')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_digitsafter/file3')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_digitsafter/file3')
check_conditions('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_digitsafter/file3')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: registering file: left
registerfile(direction 1)
MAIN: current file: testdir/numeric_sort_digitsafter/file2
checkmatch ('testdir/Stilltinydupe1', 'testdir/numeric_sort_digitsafter/file2')
check_conditions('testdir/Stilltinydupe1', 'testdir/numeric_sort_digitsafter/file2')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/numeric_sort_digitsafter/file2')
check_conditions('testdir/with spaces b', 'testdir/numeric_sort_digitsafter/file2')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/twice_one', 'testdir/numeric_sort_digitsafter/file2')
check_conditions('testdir/twice_one', 'testdir/numeric_sort_digitsafter/file2')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/numeric_sort_digitsafter/file2', 4096)
get_filehash: returning hash: 0x703c0c8c1824552d
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_digitsafter/file2')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_digitsafter/file2')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_digitsafter/file2')
check_conditions('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_digitsafter/file2')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_digitsafter/file3', 'testdir/numeric_sort_digitsafter/file2')
check_conditions('testdir/numeric_sort_digitsafter/file3', 'testdir/numeric_sort_digitsafter/file2')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/numeric_sort_digitsafter/file3', 'testdir/numeric_sort_digitsafter/file2'
MAIN: current file: testdir/numeric_sort_digitsafter/file1a2
checkmatch ('testdir/Stilltinydupe1', 'testdir/numeric_sort_digitsafter/file1a2')
check_conditions('testdir/Stilltinydupe1', 'testdir/numeric_sort_digitsafter/file1a2')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/numeric_sort_digitsafter/file1a2')
check_conditions('testdir/with spaces b', 'testdir/numeric_sort_digitsafter/file1a2')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/twice_one', 'testdir/numeric_sort_digitsafter/file1a2')
check_conditions('testdir/twice_one', 'testdir/numeric_sort_digitsafter/file1a2')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/numeric_sort_digitsafter/file1a2', 4096)
get_filehash: returning hash: 0x703c0c8c1824552d
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_digitsafter/file1a2')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_digitsafter/file1a2')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_digitsafter/file1a2')
check_conditions('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_digitsafter/file1a2')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_digitsafter/file2', 'testdir/numeric_sort_digitsafter/file1a2')
check_conditions('testdir/numeric_sort_digitsafter/file2', 'testdir/numeric_sort_digitsafter/file1a2')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/numeric_sort_digitsafter/file2', 'testdir/numeric_sort_digitsafter/file1a2'
MAIN: current file: testdir/numeric_sort_digitsafter/file10a
checkmatch ('testdir/Stilltinydupe1', 'testdir/numeric_sort_digitsafter/file10a')
check_conditions('testdir/Stilltinydupe1', 'testdir/numeric_sort_digitsafter/file10a')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/numeric_sort_digitsafter/file10a')
check_conditions('testdir/with spaces b', 'testdir/numeric_sort_digitsafter/file10a')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/twice_one', 'testdir/numeric_sort_digitsafter/file10a')
check_conditions('testdir/twice_one', 'testdir/numeric_sort_digitsafter/file10a')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/numeric_sort_digitsafter/file10a', 4096)
get_filehash: returning hash: 0x703c0c8c1824552d
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_digitsafter/file10a')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_digitsafter/file10a')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_digitsafter/file10a')
check_conditions('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_digitsafter/file10a')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_digitsafter/file10a')
check_conditions('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_digitsafter/file10a')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_digitsafter/file10a'
MAIN: current file: testdir/numeric_sort_digitsafter/file100
checkmatch ('testdir/Stilltinydupe1', 'testdir/numeric_sort_digitsafter/file100')
check_conditions('testdir/Stilltinydupe1', 'testdir/numeric_sort_digitsafter/file100')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/numeric_sort_digitsafter/file100')
check_conditions('testdir/with spaces b', 'testdir/numeric_sort_digitsafter/file100')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/twice_one', 'testdir/numeric_sort_digitsafter/file100')
check_conditions('testdir/twice_one', 'testdir/numeric_sort_digitsafter/file100')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/numeric_sort_digitsafter/file100', 4096)
get_filehash: returning hash: 0x703c0c8c1824552d
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_digitsafter/file100')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_digitsafter/file100')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_digitsafter/file100')
check_conditions('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_digitsafter/file100')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_digitsafter/file100')
check_conditions('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_digitsafter/file100')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_digitsafter/file100'
MAIN: current file: testdir/numeric_sort_digitsafter/file10
checkmatch ('testdir/Stilltinydupe1', 'testdir/numeric_sort_digitsafter/file10')
check_conditions('testdir/Stilltinydupe1', 'testdir/numeric_sort_digitsafter/file10')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/numeric_sort_digitsafter/file10')
check_conditions('testdir/with spaces b', 'testdir/numeric_sort_digitsafter/file10')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/twice_one', 'testdir/numeric_sort_digitsafter/file10')
check_conditions('testdir/twice_one', 'testdir/numeric_sort_digitsafter/file10')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/numeric_sort_digitsafter/file10', 4096)
get_filehash: returning hash: 0x703c0c8c1824552d
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_digitsafter/file10')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_digitsafter/file10')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_digitsafter/file10')
check_conditions('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_digitsafter/file10')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_digitsafter/file10')
check_conditions('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_digitsafter/file10')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_digitsafter/file10'
MAIN: current file: testdir/numeric_sort_digitsafter/file1
checkmatch ('testdir/Stilltinydupe1', 'testdir/numeric_sort_digitsafter/file1')
check_conditions('testdir/Stilltinydupe1', 'testdir/numeric_sort_digitsafter/file1')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/numeric_sort_digitsafter/file1')
check_conditions('testdir/with spaces b', 'testdir/numeric_sort_digitsafter/file1')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/twice_one', 'testdir/numeric_sort_digitsafter/file1')
check_conditions('testdir/twice_one', 'testdir/numeric_sort_digitsafter/file1')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/numeric_sort_digitsafter/file1', 4096)
get_filehash: returning hash: 0x703c0c8c1824552d
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_digitsafter/file1')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_digitsafter/file1')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_digitsafter/file1')
check_conditions('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_digitsafter/file1')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_digitsafter/file1')
check_conditions('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_digitsafter/file1')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_digitsafter/file1'
MAIN: current file: testdir/numeric_sort_digitsafter/file030
checkmatch ('testdir/Stilltinydupe1', 'testdir/numeric_sort_digitsafter/file030')
check_conditions('testdir/Stilltinydupe1', 'testdir/numeric_sort_digitsafter/file030')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/numeric_sort_digitsafter/file030')
check_conditions('testdir/with spaces b', 'testdir/numeric_sort_digitsafter/file030')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/twice_one', 'testdir/numeric_sort_digitsafter/file030')
check_conditions('testdir/twice_one', 'testdir/numeric_sort_digitsafter/file030')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/numeric_sort_digitsafter/file030', 4096)
get_filehash: returning hash: 0x703c0c8c1824552d
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_digitsafter/file030')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_digitsafter/file030')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_digitsafter/file030')
check_conditions('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_digitsafter/file030')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_digitsafter/file030')
check_conditions('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_digitsafter/file030')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_digitsafter/file030'
MAIN: current file: testdir/numeric_sort_digitsafter/file021
checkmatch ('testdir/Stilltinydupe1', 'testdir/numeric_sort_digitsafter/file021')
check_conditions('testdir/Stilltinydupe1', 'testdir/numeric_sort_digitsafter/file021')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/numeric_sort_digitsafter/file021')
check_conditions('testdir/with spaces b', 'testdir/numeric_sort_digitsafter/file021')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/twice_one', 'testdir/numeric_sort_digitsafter/file021')
check_conditions('testdir/twice_one', 'testdir/numeric_sort_digitsafter/file021')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/numeric_sort_digitsafter/file021', 4096)
get_filehash: returning hash: 0x703c0c8c1824552d
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_digitsafter/file021')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_digitsafter/file021')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_digitsafter/file021')
check_conditions('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_digitsafter/file021')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_digitsafter/file021')
check_conditions('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_digitsafter/file021')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_digitsafter/file021'
MAIN: current file: testdir/numeric_sort_digitsafter/file020
checkmatch ('testdir/Stilltinydupe1', 'testdir/numeric_sort_digitsafter/file020')
check_conditions('testdir/Stilltinydupe1', 'testdir/numeric_sort_digitsafter/file020')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/numeric_sort_digitsafter/file020')
check_conditions('testdir/with spaces b', 'testdir/numeric_sort_digitsafter/file020')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/twice_one', 'testdir/numeric_sort_digitsafter/file020')
check_conditions('testdir/twice_one', 'testdir/numeric_sort_digitsafter/file020')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/numeric_sort_digitsafter/file020', 4096)
get_filehash: returning hash: 0x703c0c8c1824552d
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_digitsafter/file020')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_digitsafter/file020')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_digitsafter/file020')
check_conditions('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_digitsafter/file020')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_digitsafter/file020')
check_conditions('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_digitsafter/file020')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_digitsafter/file020'
MAIN: current file: testdir/numeric_sort_digitsafter/file002
checkmatch ('testdir/Stilltinydupe1', 'testdir/numeric_sort_digitsafter/file002')
check_conditions('testdir/Stilltinydupe1', 'testdir/numeric_sort_digitsafter/file002')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/numeric_sort_digitsafter/file002')
check_conditions('testdir/with spaces b', 'testdir/numeric_sort_digitsafter/file002')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/twice_one', 'testdir/numeric_sort_digitsafter/file002')
check_conditions('testdir/twice_one', 'testdir/numeric_sort_digitsafter/file002')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/numeric_sort_digitsafter/file002', 4096)
get_filehash: returning hash: 0x703c0c8c1824552d
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_digitsafter/file002')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_digitsafter/file002')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_digitsafter/file002')
check_conditions('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_digitsafter/file002')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_digitsafter/file002')
check_conditions('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_digitsafter/file002')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_digitsafter/file002'
MAIN: current file: testdir/numeric_sort_digitsafter/file001a
checkmatch ('testdir/Stilltinydupe1', 'testdir/numeric_sort_digitsafter/file001a')
check_conditions('testdir/Stilltinydupe1', 'testdir/numeric_sort_digitsafter/file001a')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/numeric_sort_digitsafter/file001a')
check_conditions('testdir/with spaces b', 'testdir/numeric_sort_digitsafter/file001a')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/twice_one', 'testdir/numeric_sort_digitsafter/file001a')
check_conditions('testdir/twice_one', 'testdir/numeric_sort_digitsafter/file001a')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/numeric_sort_digitsafter/file001a', 4096)
get_filehash: returning hash: 0x703c0c8c1824552d
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_digitsafter/file001a')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_digitsafter/file001a')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_digitsafter/file001a')
check_conditions('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_digitsafter/file001a')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_digitsafter/file001a')
check_conditions('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_digitsafter/file001a')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_digitsafter/file001a'
MAIN: current file: testdir/numeric_sort_digitsafter/file001
checkmatch ('testdir/Stilltinydupe1', 'testdir/numeric_sort_digitsafter/file001')
check_conditions('testdir/Stilltinydupe1', 'testdir/numeric_sort_digitsafter/file001')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/numeric_sort_digitsafter/file001')
check_conditions('testdir/with spaces b', 'testdir/numeric_sort_digitsafter/file001')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/twice_one', 'testdir/numeric_sort_digitsafter/file001')
check_conditions('testdir/twice_one', 'testdir/numeric_sort_digitsafter/file001')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/numeric_sort_digitsafter/file001', 4096)
get_filehash: returning hash: 0x703c0c8c1824552d
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_digitsafter/file001')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_digitsafter/file001')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_digitsafter/file001')
check_conditions('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_digitsafter/file001')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_digitsafter/file001')
check_conditions('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_digitsafter/file001')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_digitsafter/file001'
MAIN: current file: testdir/numeric_sort_copysuffixes/file1-2.jpg
checkmatch ('testdir/Stilltinydupe1', 'testdir/numeric_sort_copysuffixes/file1-2.jpg')
check_conditions('testdir/Stilltinydupe1', 'testdir/numeric_sort_copysuffixes/file1-2.jpg')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/numeric_sort_copysuffixes/file1-2.jpg')
check_conditions('testdir/with spaces b', 'testdir/numeric_sort_copysuffixes/file1-2.jpg')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/twice_one', 'testdir/numeric_sort_copysuffixes/file1-2.jpg')
check_conditions('testdir/twice_one', 'testdir/numeric_sort_copysuffixes/file1-2.jpg')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/numeric_sort_copysuffixes/file1-2.jpg', 4096)
get_filehash: returning hash: 0x7f3aaa4c3842a787
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_copysuffixes/file1-2.jpg')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_copysuffixes/file1-2.jpg')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_copysuffixes/file1-2.jpg')
check_conditions('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_copysuffixes/file1-2.jpg')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_copysuffixes/file1-2.jpg')
check_conditions('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_copysuffixes/file1-2.jpg')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: registering file: right
registerfile(direction 2)
MAIN: current file: testdir/numeric_sort_copysuffixes/file1-10.jpg
checkmatch ('testdir/Stilltinydupe1', 'testdir/numeric_sort_copysuffixes/file1-10.jpg')
check_conditions('testdir/Stilltinydupe1', 'testdir/numeric_sort_copysuffixes/file1-10.jpg')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/numeric_sort_copysuffixes/file1-10.jpg')
check_conditions('testdir/with spaces b', 'testdir/numeric_sort_copysuffixes/file1-10.jpg')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/twice_one', 'testdir/numeric_sort_copysuffixes/file1-10.jpg')
check_conditions('testdir/twice_one', 'testdir/numeric_sort_copysuffixes/file1-10.jpg')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/numeric_sort_copysuffixes/file1-10.jpg', 4096)
get_filehash: returning hash: 0x7f3aaa4c3842a787
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_copysuffixes/file1-10.jpg')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_copysuffixes/file1-10.jpg')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_copysuffixes/file1-10.jpg')
check_conditions('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_copysuffixes/file1-10.jpg')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_copysuffixes/file1-10.jpg')
check_conditions('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_copysuffixes/file1-10.jpg')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_copysuffixes/file1-2.jpg', 'testdir/numeric_sort_copysuffixes/file1-10.jpg')
check_conditions('testdir/numeric_sort_copysuffixes/file1-2.jpg', 'testdir/numeric_sort_copysuffixes/file1-10.jpg')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/numeric_sort_copysuffixes/file1-2.jpg', 'testdir/numeric_sort_copysuffixes/file1-10.jpg'
MAIN: current file: testdir/numeric_sort_copysuffixes/file1-1.jpg
checkmatch ('testdir/Stilltinydupe1', 'testdir/numeric_sort_copysuffixes/file1-1.jpg')
check_conditions('testdir/Stilltinydupe1', 'testdir/numeric_sort_copysuffixes/file1-1.jpg')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/numeric_sort_copysuffixes/file1-1.jpg')
check_conditions('testdir/with spaces b', 'testdir/numeric_sort_copysuffixes/file1-1.jpg')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/twice_one', 'testdir/numeric_sort_copysuffixes/file1-1.jpg')
check_conditions('testdir/twice_one', 'testdir/numeric_sort_copysuffixes/file1-1.jpg')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/numeric_sort_copysuffixes/file1-1.jpg', 4096)
get_filehash: returning hash: 0x7f3aaa4c3842a787
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_copysuffixes/file1-1.jpg')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_copysuffixes/file1-1.jpg')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_copysuffixes/file1-1.jpg')
check_conditions('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_copysuffixes/file1-1.jpg')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_copysuffixes/file1-1.jpg')
check_conditions('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_copysuffixes/file1-1.jpg')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_copysuffixes/file1-2.jpg', 'testdir/numeric_sort_copysuffixes/file1-1.jpg')
check_conditions('testdir/numeric_sort_copysuffixes/file1-2.jpg', 'testdir/numeric_sort_copysuffixes/file1-1.jpg')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/numeric_sort_copysuffixes/file1-2.jpg', 'testdir/numeric_sort_copysuffixes/file1-1.jpg'
MAIN: current file: testdir/numeric_sort_copysuffixes/file1-1 (Copy).jpg
checkmatch ('testdir/Stilltinydupe1', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy).jpg')
check_conditions('testdir/Stilltinydupe1', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy).jpg')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy).jpg')
check_conditions('testdir/with spaces b', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy).jpg')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/twice_one', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy).jpg')
check_conditions('testdir/twice_one', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy).jpg')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/numeric_sort_copysuffixes/file1-1 (Copy).jpg', 4096)
get_filehash: returning hash: 0x7f3aaa4c3842a787
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy).jpg')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy).jpg')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy).jpg')
check_conditions('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy).jpg')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy).jpg')
check_conditions('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy).jpg')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_copysuffixes/file1-1.jpg', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy).jpg')
check_conditions('testdir/numeric_sort_copysuffixes/file1-1.jpg', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy).jpg')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/numeric_sort_copysuffixes/file1-1.jpg', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy).jpg'
MAIN: current file: testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2).jpg
checkmatch ('testdir/Stilltinydupe1', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2).jpg')
check_conditions('testdir/Stilltinydupe1', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2).jpg')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2).jpg')
check_conditions('testdir/with spaces b', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2).jpg')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/twice_one', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2).jpg')
check_conditions('testdir/twice_one', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2).jpg')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2).jpg', 4096)
get_filehash: returning hash: 0x7f3aaa4c3842a787
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2).jpg')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2).jpg')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2).jpg')
check_conditions('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2).jpg')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2).jpg')
check_conditions('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2).jpg')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_copysuffixes/file1-1.jpg', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2).jpg')
check_conditions('testdir/numeric_sort_copysuffixes/file1-1.jpg', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2).jpg')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/numeric_sort_copysuffixes/file1-1.jpg', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2).jpg'
MAIN: current file: testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2) (2).jpg
checkmatch ('testdir/Stilltinydupe1', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2) (2).jpg')
check_conditions('testdir/Stilltinydupe1', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2) (2).jpg')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2) (2).jpg')
check_conditions('testdir/with spaces b', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2) (2).jpg')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/twice_one', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2) (2).jpg')
check_conditions('testdir/twice_one', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2) (2).jpg')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2) (2).jpg', 4096)
get_filehash: returning hash: 0x7f3aaa4c3842a787
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2) (2).jpg')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2) (2).jpg')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2) (2).jpg')
check_conditions('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2) (2).jpg')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2) (2).jpg')
check_conditions('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2) (2).jpg')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_copysuffixes/file1-1.jpg', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2) (2).jpg')
check_conditions('testdir/numeric_sort_copysuffixes/file1-1.jpg', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2) (2).jpg')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/numeric_sort_copysuffixes/file1-1.jpg', 'testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2) (2).jpg'
MAIN: current file: testdir/numeric_sort_copysuffixes/file1-0.jpg
checkmatch ('testdir/Stilltinydupe1', 'testdir/numeric_sort_copysuffixes/file1-0.jpg')
check_conditions('testdir/Stilltinydupe1', 'testdir/numeric_sort_copysuffixes/file1-0.jpg')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/numeric_sort_copysuffixes/file1-0.jpg')
check_conditions('testdir/with spaces b', 'testdir/numeric_sort_copysuffixes/file1-0.jpg')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/twice_one', 'testdir/numeric_sort_copysuffixes/file1-0.jpg')
check_conditions('testdir/twice_one', 'testdir/numeric_sort_copysuffixes/file1-0.jpg')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/numeric_sort_copysuffixes/file1-0.jpg', 4096)
get_filehash: returning hash: 0x7f3aaa4c3842a787
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_copysuffixes/file1-0.jpg')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_copysuffixes/file1-0.jpg')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_copysuffixes/file1-0.jpg')
check_conditions('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_copysuffixes/file1-0.jpg')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_copysuffixes/file1-0.jpg')
check_conditions('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_copysuffixes/file1-0.jpg')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_copysuffixes/file1-1.jpg', 'testdir/numeric_sort_copysuffixes/file1-0.jpg')
check_conditions('testdir/numeric_sort_copysuffixes/file1-1.jpg', 'testdir/numeric_sort_copysuffixes/file1-0.jpg')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/numeric_sort_copysuffixes/file1-1.jpg', 'testdir/numeric_sort_copysuffixes/file1-0.jpg'
MAIN: current file: testdir/numeric_sort_copysuffixes/file1-0#1.jpg
checkmatch ('testdir/Stilltinydupe1', 'testdir/numeric_sort_copysuffixes/file1-0#1.jpg')
check_conditions('testdir/Stilltinydupe1', 'testdir/numeric_sort_copysuffixes/file1-0#1.jpg')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/numeric_sort_copysuffixes/file1-0#1.jpg')
check_conditions('testdir/with spaces b', 'testdir/numeric_sort_copysuffixes/file1-0#1.jpg')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/twice_one', 'testdir/numeric_sort_copysuffixes/file1-0#1.jpg')
check_conditions('testdir/twice_one', 'testdir/numeric_sort_copysuffixes/file1-0#1.jpg')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/numeric_sort_copysuffixes/file1-0#1.jpg', 4096)
get_filehash: returning hash: 0x7f3aaa4c3842a787
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_copysuffixes/file1-0#1.jpg')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_copysuffixes/file1-0#1.jpg')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_copysuffixes/file1-0#1.jpg')
check_conditions('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_copysuffixes/file1-0#1.jpg')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_copysuffixes/file1-0#1.jpg')
check_conditions('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_copysuffixes/file1-0#1.jpg')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_copysuffixes/file1-0.jpg', 'testdir/numeric_sort_copysuffixes/file1-0#1.jpg')
check_conditions('testdir/numeric_sort_copysuffixes/file1-0.jpg', 'testdir/numeric_sort_copysuffixes/file1-0#1.jpg')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/numeric_sort_copysuffixes/file1-0.jpg', 'testdir/numeric_sort_copysuffixes/file1-0#1.jpg'
MAIN: current file: testdir/numeric_sort_copysuffixes/file1-0 (1).jpg
checkmatch ('testdir/Stilltinydupe1', 'testdir/numeric_sort_copysuffixes/file1-0 (1).jpg')
check_conditions('testdir/Stilltinydupe1', 'testdir/numeric_sort_copysuffixes/file1-0 (1).jpg')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/numeric_sort_copysuffixes/file1-0 (1).jpg')
check_conditions('testdir/with spaces b', 'testdir/numeric_sort_copysuffixes/file1-0 (1).jpg')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/twice_one', 'testdir/numeric_sort_copysuffixes/file1-0 (1).jpg')
check_conditions('testdir/twice_one', 'testdir/numeric_sort_copysuffixes/file1-0 (1).jpg')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/numeric_sort_copysuffixes/file1-0 (1).jpg', 4096)
get_filehash: returning hash: 0x7f3aaa4c3842a787
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_copysuffixes/file1-0 (1).jpg')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/numeric_sort_copysuffixes/file1-0 (1).jpg')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_copysuffixes/file1-0 (1).jpg')
check_conditions('testdir/numeric_sort_startwithzero/1file1', 'testdir/numeric_sort_copysuffixes/file1-0 (1).jpg')
check_conditions: no match: size of file1 > file2 (6 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_copysuffixes/file1-0 (1).jpg')
check_conditions('testdir/numeric_sort_digitsafter/file1a2', 'testdir/numeric_sort_copysuffixes/file1-0 (1).jpg')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_copysuffixes/file1-0.jpg', 'testdir/numeric_sort_copysuffixes/file1-0 (1).jpg')
check_conditions('testdir/numeric_sort_copysuffixes/file1-0.jpg', 'testdir/numeric_sort_copysuffixes/file1-0 (1).jpg')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/numeric_sort_copysuffixes/file1-0.jpg', 'testdir/numeric_sort_copysuffixes/file1-0 (1).jpg'
MAIN: current file: testdir/extensions/fake_mp4_002.mp4
checkmatch ('testdir/Stilltinydupe1', 'testdir/extensions/fake_mp4_002.mp4')
check_conditions('testdir/Stilltinydupe1', 'testdir/extensions/fake_mp4_002.mp4')
check_conditions: no match: size of file1 < file2 (1 < 14)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/extensions/fake_mp4_002.mp4')
check_conditions('testdir/with spaces b', 'testdir/extensions/fake_mp4_002.mp4')
check_conditions: no match: size of file1 < file2 (12 < 14)
checkmatch: recursing tree: right
checkmatch ('testdir/notsotinydupe2', 'testdir/extensions/fake_mp4_002.mp4')
check_conditions('testdir/notsotinydupe2', 'testdir/extensions/fake_mp4_002.mp4')
check_conditions: no match: size of file1 > file2 (66 > 14)
checkmatch: registering file: left
registerfile(direction 1)
MAIN: current file: testdir/extensions/fake_mp4_001.mp4
checkmatch ('testdir/Stilltinydupe1', 'testdir/extensions/fake_mp4_001.mp4')
check_conditions('testdir/Stilltinydupe1', 'testdir/extensions/fake_mp4_001.mp4')
check_conditions: no match: size of file1 < file2 (1 < 14)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/extensions/fake_mp4_001.mp4')
check_conditions('testdir/with spaces b', 'testdir/extensions/fake_mp4_001.mp4')
check_conditions: no match: size of file1 < file2 (12 < 14)
checkmatch: recursing tree: right
checkmatch ('testdir/notsotinydupe2', 'testdir/extensions/fake_mp4_001.mp4')
check_conditions('testdir/notsotinydupe2', 'testdir/extensions/fake_mp4_001.mp4')
check_conditions: no match: size of file1 > file2 (66 > 14)
checkmatch: recursing tree: left
checkmatch ('testdir/extensions/fake_mp4_002.mp4', 'testdir/extensions/fake_mp4_001.mp4')
check_conditions('testdir/extensions/fake_mp4_002.mp4', 'testdir/extensions/fake_mp4_001.mp4')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/extensions/fake_mp4_002.mp4', 4096)
get_filehash: returning hash: 0xafbbe9618285fe68
get_filehash('testdir/extensions/fake_mp4_001.mp4', 4096)
get_filehash: returning hash: 0xafbbe9618285fe68
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/extensions/fake_mp4_002.mp4', 'testdir/extensions/fake_mp4_001.mp4'
MAIN: current file: testdir/extensions/fake_mp3_002.mp3
checkmatch ('testdir/Stilltinydupe1', 'testdir/extensions/fake_mp3_002.mp3')
check_conditions('testdir/Stilltinydupe1', 'testdir/extensions/fake_mp3_002.mp3')
check_conditions: no match: size of file1 < file2 (1 < 14)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/extensions/fake_mp3_002.mp3')
check_conditions('testdir/with spaces b', 'testdir/extensions/fake_mp3_002.mp3')
check_conditions: no match: size of file1 < file2 (12 < 14)
checkmatch: recursing tree: right
checkmatch ('testdir/notsotinydupe2', 'testdir/extensions/fake_mp3_002.mp3')
check_conditions('testdir/notsotinydupe2', 'testdir/extensions/fake_mp3_002.mp3')
check_conditions: no match: size of file1 > file2 (66 > 14)
checkmatch: recursing tree: left
checkmatch ('testdir/extensions/fake_mp4_001.mp4', 'testdir/extensions/fake_mp3_002.mp3')
check_conditions('testdir/extensions/fake_mp4_001.mp4', 'testdir/extensions/fake_mp3_002.mp3')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/extensions/fake_mp3_002.mp3', 4096)
get_filehash: returning hash: 0xafbbe9618285fe68
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/extensions/fake_mp4_001.mp4', 'testdir/extensions/fake_mp3_002.mp3'
MAIN: current file: testdir/extensions/fake_mp3_001.mp3
checkmatch ('testdir/Stilltinydupe1', 'testdir/extensions/fake_mp3_001.mp3')
check_conditions('testdir/Stilltinydupe1', 'testdir/extensions/fake_mp3_001.mp3')
check_conditions: no match: size of file1 < file2 (1 < 14)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/extensions/fake_mp3_001.mp3')
check_conditions('testdir/with spaces b', 'testdir/extensions/fake_mp3_001.mp3')
check_conditions: no match: size of file1 < file2 (12 < 14)
checkmatch: recursing tree: right
checkmatch ('testdir/notsotinydupe2', 'testdir/extensions/fake_mp3_001.mp3')
check_conditions('testdir/notsotinydupe2', 'testdir/extensions/fake_mp3_001.mp3')
check_conditions: no match: size of file1 > file2 (66 > 14)
checkmatch: recursing tree: left
checkmatch ('testdir/extensions/fake_mp3_002.mp3', 'testdir/extensions/fake_mp3_001.mp3')
check_conditions('testdir/extensions/fake_mp3_002.mp3', 'testdir/extensions/fake_mp3_001.mp3')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/extensions/fake_mp3_001.mp3', 4096)
get_filehash: returning hash: 0xafbbe9618285fe68
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/extensions/fake_mp3_002.mp3', 'testdir/extensions/fake_mp3_001.mp3'
MAIN: current file: testdir/extensions/fake_doc_002.doc
checkmatch ('testdir/Stilltinydupe1', 'testdir/extensions/fake_doc_002.doc')
check_conditions('testdir/Stilltinydupe1', 'testdir/extensions/fake_doc_002.doc')
check_conditions: no match: size of file1 < file2 (1 < 14)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/extensions/fake_doc_002.doc')
check_conditions('testdir/with spaces b', 'testdir/extensions/fake_doc_002.doc')
check_conditions: no match: size of file1 < file2 (12 < 14)
checkmatch: recursing tree: right
checkmatch ('testdir/notsotinydupe2', 'testdir/extensions/fake_doc_002.doc')
check_conditions('testdir/notsotinydupe2', 'testdir/extensions/fake_doc_002.doc')
check_conditions: no match: size of file1 > file2 (66 > 14)
checkmatch: recursing tree: left
checkmatch ('testdir/extensions/fake_mp3_001.mp3', 'testdir/extensions/fake_doc_002.doc')
check_conditions('testdir/extensions/fake_mp3_001.mp3', 'testdir/extensions/fake_doc_002.doc')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/extensions/fake_doc_002.doc', 4096)
get_filehash: returning hash: 0xafbbe9618285fe68
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/extensions/fake_mp3_001.mp3', 'testdir/extensions/fake_doc_002.doc'
MAIN: current file: testdir/extensions/fake_doc_001.doc
checkmatch ('testdir/Stilltinydupe1', 'testdir/extensions/fake_doc_001.doc')
check_conditions('testdir/Stilltinydupe1', 'testdir/extensions/fake_doc_001.doc')
check_conditions: no match: size of file1 < file2 (1 < 14)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/extensions/fake_doc_001.doc')
check_conditions('testdir/with spaces b', 'testdir/extensions/fake_doc_001.doc')
check_conditions: no match: size of file1 < file2 (12 < 14)
checkmatch: recursing tree: right
checkmatch ('testdir/notsotinydupe2', 'testdir/extensions/fake_doc_001.doc')
check_conditions('testdir/notsotinydupe2', 'testdir/extensions/fake_doc_001.doc')
check_conditions: no match: size of file1 > file2 (66 > 14)
checkmatch: recursing tree: left
checkmatch ('testdir/extensions/fake_doc_002.doc', 'testdir/extensions/fake_doc_001.doc')
check_conditions('testdir/extensions/fake_doc_002.doc', 'testdir/extensions/fake_doc_001.doc')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/extensions/fake_doc_001.doc', 4096)
get_filehash: returning hash: 0xafbbe9618285fe68
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/extensions/fake_doc_002.doc', 'testdir/extensions/fake_doc_001.doc'
MAIN: current file: testdir/atinydupe0
checkmatch ('testdir/Stilltinydupe1', 'testdir/atinydupe0')
check_conditions('testdir/Stilltinydupe1', 'testdir/atinydupe0')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/atinydupe0', 4096)
get_filehash: returning hash: 0xcafc7706cee4572b
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/Stilltinydupe1', 'testdir/atinydupe0'
MAIN: current file: testdir/with spaces a
checkmatch ('testdir/atinydupe0', 'testdir/with spaces a')
check_conditions('testdir/atinydupe0', 'testdir/with spaces a')
check_conditions: no match: size of file1 < file2 (1 < 12)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/with spaces a')
check_conditions('testdir/with spaces b', 'testdir/with spaces a')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/with spaces b', 4096)
get_filehash: returning hash: 0x13af9d55cf3eb315
get_filehash('testdir/with spaces a', 4096)
get_filehash: returning hash: 0x13af9d55cf3eb315
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/with spaces b', 'testdir/with spaces a'
MAIN: current file: testdir/notsotinydupe1
checkmatch ('testdir/atinydupe0', 'testdir/notsotinydupe1')
check_conditions('testdir/atinydupe0', 'testdir/notsotinydupe1')
check_conditions: no match: size of file1 < file2 (1 < 66)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/notsotinydupe1')
check_conditions('testdir/with spaces a', 'testdir/notsotinydupe1')
check_conditions: no match: size of file1 < file2 (12 < 66)
checkmatch: recursing tree: right
checkmatch ('testdir/notsotinydupe2', 'testdir/notsotinydupe1')
check_conditions('testdir/notsotinydupe2', 'testdir/notsotinydupe1')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/notsotinydupe2', 4096)
get_filehash: returning hash: 0xebd643261a119b33
get_filehash('testdir/notsotinydupe1', 4096)
get_filehash: returning hash: 0xebd643261a119b33
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/notsotinydupe2', 'testdir/notsotinydupe1'
MAIN: current file: testdir/nine_upsidedown
checkmatch ('testdir/atinydupe0', 'testdir/nine_upsidedown')
check_conditions('testdir/atinydupe0', 'testdir/nine_upsidedown')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/nine_upsidedown')
check_conditions('testdir/with spaces a', 'testdir/nine_upsidedown')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/twice_one', 'testdir/nine_upsidedown')
check_conditions('testdir/twice_one', 'testdir/nine_upsidedown')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/nine_upsidedown', 4096)
get_filehash: returning hash: 0x1c898c83b51c13f9
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: registering file: left
registerfile(direction 1)
MAIN: current file: testdir/larger_file_4
checkmatch ('testdir/atinydupe0', 'testdir/larger_file_4')
check_conditions('testdir/atinydupe0', 'testdir/larger_file_4')
check_conditions: no match: size of file1 < file2 (1 < 66800)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/larger_file_4')
check_conditions('testdir/with spaces a', 'testdir/larger_file_4')
check_conditions: no match: size of file1 < file2 (12 < 66800)
checkmatch: recursing tree: right
checkmatch ('testdir/notsotinydupe1', 'testdir/larger_file_4')
check_conditions('testdir/notsotinydupe1', 'testdir/larger_file_4')
check_conditions: no match: size of file1 < file2 (66 < 66800)
checkmatch: recursing tree: right
checkmatch ('testdir/larger_file_2', 'testdir/larger_file_4')
check_conditions('testdir/larger_file_2', 'testdir/larger_file_4')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/larger_file_2', 4096)
get_filehash: returning hash: 0x238078c918e750ac
get_filehash('testdir/larger_file_4', 4096)
get_filehash: returning hash: 0x238078c918e750ac
checkmatch: partial hashes match
get_filehash('testdir/larger_file_2', 0)
get_filehash: returning hash: 0xeafc8ea5d60710e9
get_filehash('testdir/larger_file_4', 0)
get_filehash: returning hash: 0x4aa80fa6b27f3db1
checkmatch: full hashes do not match
checkmatch: registering file: left
registerfile(direction 1)
MAIN: current file: testdir/larger_file_3
checkmatch ('testdir/atinydupe0', 'testdir/larger_file_3')
check_conditions('testdir/atinydupe0', 'testdir/larger_file_3')
check_conditions: no match: size of file1 < file2 (1 < 66800)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/larger_file_3')
check_conditions('testdir/with spaces a', 'testdir/larger_file_3')
check_conditions: no match: size of file1 < file2 (12 < 66800)
checkmatch: recursing tree: right
checkmatch ('testdir/notsotinydupe1', 'testdir/larger_file_3')
check_conditions('testdir/notsotinydupe1', 'testdir/larger_file_3')
check_conditions: no match: size of file1 < file2 (66 < 66800)
checkmatch: recursing tree: right
checkmatch ('testdir/larger_file_2', 'testdir/larger_file_3')
check_conditions('testdir/larger_file_2', 'testdir/larger_file_3')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/larger_file_3', 4096)
get_filehash: returning hash: 0x3d43fabd3277d693
checkmatch: partial hashes do not match
checkmatch: registering file: right
registerfile(direction 2)
MAIN: current file: testdir/larger_file_1
checkmatch ('testdir/atinydupe0', 'testdir/larger_file_1')
check_conditions('testdir/atinydupe0', 'testdir/larger_file_1')
check_conditions: no match: size of file1 < file2 (1 < 66800)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/larger_file_1')
check_conditions('testdir/with spaces a', 'testdir/larger_file_1')
check_conditions: no match: size of file1 < file2 (12 < 66800)
checkmatch: recursing tree: right
checkmatch ('testdir/notsotinydupe1', 'testdir/larger_file_1')
check_conditions('testdir/notsotinydupe1', 'testdir/larger_file_1')
check_conditions: no match: size of file1 < file2 (66 < 66800)
checkmatch: recursing tree: right
checkmatch ('testdir/larger_file_2', 'testdir/larger_file_1')
check_conditions('testdir/larger_file_2', 'testdir/larger_file_1')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/larger_file_1', 4096)
get_filehash: returning hash: 0x238078c918e750ac
checkmatch: partial hashes match
get_filehash('testdir/larger_file_1', 0)
get_filehash: returning hash: 0xeafc8ea5d60710e9
checkmatch: full hashes match
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/larger_file_2', 'testdir/larger_file_1'
MAIN: current file: testdir/.hidden_two
checkmatch ('testdir/atinydupe0', 'testdir/.hidden_two')
check_conditions('testdir/atinydupe0', 'testdir/.hidden_two')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/.hidden_two')
check_conditions('testdir/with spaces a', 'testdir/.hidden_two')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/twice_one', 'testdir/.hidden_two')
check_conditions('testdir/twice_one', 'testdir/.hidden_two')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/.hidden_two', 4096)
get_filehash: returning hash: 0x6e15961ef9042d0f
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/twice_one', 'testdir/.hidden_two'
MAIN: current file: testdir/unicode_filenames/cassé
checkmatch ('testdir/atinydupe0', 'testdir/unicode_filenames/cassé')
check_conditions('testdir/atinydupe0', 'testdir/unicode_filenames/cassé')
check_conditions: no match: size of file1 < file2 (1 < 70)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/unicode_filenames/cassé')
check_conditions('testdir/with spaces a', 'testdir/unicode_filenames/cassé')
check_conditions: no match: size of file1 < file2 (12 < 70)
checkmatch: recursing tree: right
checkmatch ('testdir/notsotinydupe1', 'testdir/unicode_filenames/cassé')
check_conditions('testdir/notsotinydupe1', 'testdir/unicode_filenames/cassé')
check_conditions: no match: size of file1 < file2 (66 < 70)
checkmatch: recursing tree: right
checkmatch ('testdir/larger_file_1', 'testdir/unicode_filenames/cassé')
check_conditions('testdir/larger_file_1', 'testdir/unicode_filenames/cassé')
check_conditions: no match: size of file1 > file2 (66800 > 70)
checkmatch: recursing tree: left
checkmatch ('testdir/larger_file_4', 'testdir/unicode_filenames/cassé')
check_conditions('testdir/larger_file_4', 'testdir/unicode_filenames/cassé')
check_conditions: no match: size of file1 > file2 (66800 > 70)
checkmatch: registering file: left
registerfile(direction 1)
MAIN: current file: testdir/unicode_filenames/행운을 빈다
checkmatch ('testdir/atinydupe0', 'testdir/unicode_filenames/행운을 빈다')
check_conditions('testdir/atinydupe0', 'testdir/unicode_filenames/행운을 빈다')
check_conditions: no match: size of file1 < file2 (1 < 70)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/unicode_filenames/행운을 빈다')
check_conditions('testdir/with spaces a', 'testdir/unicode_filenames/행운을 빈다')
check_conditions: no match: size of file1 < file2 (12 < 70)
checkmatch: recursing tree: right
checkmatch ('testdir/notsotinydupe1', 'testdir/unicode_filenames/행운을 빈다')
check_conditions('testdir/notsotinydupe1', 'testdir/unicode_filenames/행운을 빈다')
check_conditions: no match: size of file1 < file2 (66 < 70)
checkmatch: recursing tree: right
checkmatch ('testdir/larger_file_1', 'testdir/unicode_filenames/행운을 빈다')
check_conditions('testdir/larger_file_1', 'testdir/unicode_filenames/행운을 빈다')
check_conditions: no match: size of file1 > file2 (66800 > 70)
checkmatch: recursing tree: left
checkmatch ('testdir/larger_file_4', 'testdir/unicode_filenames/행운을 빈다')
check_conditions('testdir/larger_file_4', 'testdir/unicode_filenames/행운을 빈다')
check_conditions: no match: size of file1 > file2 (66800 > 70)
checkmatch: recursing tree: left
checkmatch ('testdir/unicode_filenames/cassé', 'testdir/unicode_filenames/행운을 빈다')
check_conditions('testdir/unicode_filenames/cassé', 'testdir/unicode_filenames/행운을 빈다')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/unicode_filenames/cassé', 4096)
get_filehash: returning hash: 0x31ec0d9b165c8ddc
get_filehash('testdir/unicode_filenames/행운을 빈다', 4096)
get_filehash: returning hash: 0x31ec0d9b165c8ddc
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/unicode_filenames/cassé', 'testdir/unicode_filenames/행운을 빈다'
MAIN: current file: testdir/unicode_filenames/怖い
checkmatch ('testdir/atinydupe0', 'testdir/unicode_filenames/怖い')
check_conditions('testdir/atinydupe0', 'testdir/unicode_filenames/怖い')
check_conditions: no match: size of file1 < file2 (1 < 70)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/unicode_filenames/怖い')
check_conditions('testdir/with spaces a', 'testdir/unicode_filenames/怖い')
check_conditions: no match: size of file1 < file2 (12 < 70)
checkmatch: recursing tree: right
checkmatch ('testdir/notsotinydupe1', 'testdir/unicode_filenames/怖い')
check_conditions('testdir/notsotinydupe1', 'testdir/unicode_filenames/怖い')
check_conditions: no match: size of file1 < file2 (66 < 70)
checkmatch: recursing tree: right
checkmatch ('testdir/larger_file_1', 'testdir/unicode_filenames/怖い')
check_conditions('testdir/larger_file_1', 'testdir/unicode_filenames/怖い')
check_conditions: no match: size of file1 > file2 (66800 > 70)
checkmatch: recursing tree: left
checkmatch ('testdir/larger_file_4', 'testdir/unicode_filenames/怖い')
check_conditions('testdir/larger_file_4', 'testdir/unicode_filenames/怖い')
check_conditions: no match: size of file1 > file2 (66800 > 70)
checkmatch: recursing tree: left
checkmatch ('testdir/unicode_filenames/cassé', 'testdir/unicode_filenames/怖い')
check_conditions('testdir/unicode_filenames/cassé', 'testdir/unicode_filenames/怖い')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/unicode_filenames/怖い', 4096)
get_filehash: returning hash: 0x31ec0d9b165c8ddc
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/unicode_filenames/cassé', 'testdir/unicode_filenames/怖い'
MAIN: current file: testdir/unicode_filenames/दसविदानिया
checkmatch ('testdir/atinydupe0', 'testdir/unicode_filenames/दसविदानिया')
check_conditions('testdir/atinydupe0', 'testdir/unicode_filenames/दसविदानिया')
check_conditions: no match: size of file1 < file2 (1 < 70)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/unicode_filenames/दसविदानिया')
check_conditions('testdir/with spaces a', 'testdir/unicode_filenames/दसविदानिया')
check_conditions: no match: size of file1 < file2 (12 < 70)
checkmatch: recursing tree: right
checkmatch ('testdir/notsotinydupe1', 'testdir/unicode_filenames/दसविदानिया')
check_conditions('testdir/notsotinydupe1', 'testdir/unicode_filenames/दसविदानिया')
check_conditions: no match: size of file1 < file2 (66 < 70)
checkmatch: recursing tree: right
checkmatch ('testdir/larger_file_1', 'testdir/unicode_filenames/दसविदानिया')
check_conditions('testdir/larger_file_1', 'testdir/unicode_filenames/दसविदानिया')
check_conditions: no match: size of file1 > file2 (66800 > 70)
checkmatch: recursing tree: left
checkmatch ('testdir/larger_file_4', 'testdir/unicode_filenames/दसविदानिया')
check_conditions('testdir/larger_file_4', 'testdir/unicode_filenames/दसविदानिया')
check_conditions: no match: size of file1 > file2 (66800 > 70)
checkmatch: recursing tree: left
checkmatch ('testdir/unicode_filenames/cassé', 'testdir/unicode_filenames/दसविदानिया')
check_conditions('testdir/unicode_filenames/cassé', 'testdir/unicode_filenames/दसविदानिया')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/unicode_filenames/दसविदानिया', 4096)
get_filehash: returning hash: 0x31ec0d9b165c8ddc
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/unicode_filenames/cassé', 'testdir/unicode_filenames/दसविदानिया'
MAIN: current file: testdir/unicode_filenames/до свидания
checkmatch ('testdir/atinydupe0', 'testdir/unicode_filenames/до свидания')
check_conditions('testdir/atinydupe0', 'testdir/unicode_filenames/до свидания')
check_conditions: no match: size of file1 < file2 (1 < 70)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/unicode_filenames/до свидания')
check_conditions('testdir/with spaces a', 'testdir/unicode_filenames/до свидания')
check_conditions: no match: size of file1 < file2 (12 < 70)
checkmatch: recursing tree: right
checkmatch ('testdir/notsotinydupe1', 'testdir/unicode_filenames/до свидания')
check_conditions('testdir/notsotinydupe1', 'testdir/unicode_filenames/до свидания')
check_conditions: no match: size of file1 < file2 (66 < 70)
checkmatch: recursing tree: right
checkmatch ('testdir/larger_file_1', 'testdir/unicode_filenames/до свидания')
check_conditions('testdir/larger_file_1', 'testdir/unicode_filenames/до свидания')
check_conditions: no match: size of file1 > file2 (66800 > 70)
checkmatch: recursing tree: left
checkmatch ('testdir/larger_file_4', 'testdir/unicode_filenames/до свидания')
check_conditions('testdir/larger_file_4', 'testdir/unicode_filenames/до свидания')
check_conditions: no match: size of file1 > file2 (66800 > 70)
checkmatch: recursing tree: left
checkmatch ('testdir/unicode_filenames/cassé', 'testdir/unicode_filenames/до свидания')
check_conditions('testdir/unicode_filenames/cassé', 'testdir/unicode_filenames/до свидания')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/unicode_filenames/до свидания', 4096)
get_filehash: returning hash: 0x31ec0d9b165c8ddc
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/unicode_filenames/cassé', 'testdir/unicode_filenames/до свидания'
MAIN: current file: testdir/unicode_filenames/Ελληνιά
checkmatch ('testdir/atinydupe0', 'testdir/unicode_filenames/Ελληνιά')
check_conditions('testdir/atinydupe0', 'testdir/unicode_filenames/Ελληνιά')
check_conditions: no match: size of file1 < file2 (1 < 70)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/unicode_filenames/Ελληνιά')
check_conditions('testdir/with spaces a', 'testdir/unicode_filenames/Ελληνιά')
check_conditions: no match: size of file1 < file2 (12 < 70)
checkmatch: recursing tree: right
checkmatch ('testdir/notsotinydupe1', 'testdir/unicode_filenames/Ελληνιά')
check_conditions('testdir/notsotinydupe1', 'testdir/unicode_filenames/Ελληνιά')
check_conditions: no match: size of file1 < file2 (66 < 70)
checkmatch: recursing tree: right
checkmatch ('testdir/larger_file_1', 'testdir/unicode_filenames/Ελληνιά')
check_conditions('testdir/larger_file_1', 'testdir/unicode_filenames/Ελληνιά')
check_conditions: no match: size of file1 > file2 (66800 > 70)
checkmatch: recursing tree: left
checkmatch ('testdir/larger_file_4', 'testdir/unicode_filenames/Ελληνιά')
check_conditions('testdir/larger_file_4', 'testdir/unicode_filenames/Ελληνιά')
check_conditions: no match: size of file1 > file2 (66800 > 70)
checkmatch: recursing tree: left
checkmatch ('testdir/unicode_filenames/cassé', 'testdir/unicode_filenames/Ελληνιά')
check_conditions('testdir/unicode_filenames/cassé', 'testdir/unicode_filenames/Ελληνιά')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/unicode_filenames/Ελληνιά', 4096)
get_filehash: returning hash: 0x31ec0d9b165c8ddc
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/unicode_filenames/cassé', 'testdir/unicode_filenames/Ελληνιά'
MAIN: current file: testdir/unicode_dirnames/행운을 빈다/Unicode testfile.txt
checkmatch ('testdir/atinydupe0', 'testdir/unicode_dirnames/행운을 빈다/Unicode testfile.txt')
check_conditions('testdir/atinydupe0', 'testdir/unicode_dirnames/행운을 빈다/Unicode testfile.txt')
check_conditions: no match: size of file1 < file2 (1 < 24)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/unicode_dirnames/행운을 빈다/Unicode testfile.txt')
check_conditions('testdir/with spaces a', 'testdir/unicode_dirnames/행운을 빈다/Unicode testfile.txt')
check_conditions: no match: size of file1 < file2 (12 < 24)
checkmatch: recursing tree: right
checkmatch ('testdir/notsotinydupe1', 'testdir/unicode_dirnames/행운을 빈다/Unicode testfile.txt')
check_conditions('testdir/notsotinydupe1', 'testdir/unicode_dirnames/행운을 빈다/Unicode testfile.txt')
check_conditions: no match: size of file1 > file2 (66 > 24)
checkmatch: recursing tree: left
checkmatch ('testdir/extensions/fake_doc_001.doc', 'testdir/unicode_dirnames/행운을 빈다/Unicode testfile.txt')
check_conditions('testdir/extensions/fake_doc_001.doc', 'testdir/unicode_dirnames/행운을 빈다/Unicode testfile.txt')
check_conditions: no match: size of file1 < file2 (14 < 24)
checkmatch: registering file: right
registerfile(direction 2)
MAIN: current file: testdir/unicode_dirnames/怖い/Unicode testfile.txt
checkmatch ('testdir/atinydupe0', 'testdir/unicode_dirnames/怖い/Unicode testfile.txt')
check_conditions('testdir/atinydupe0', 'testdir/unicode_dirnames/怖い/Unicode testfile.txt')
check_conditions: no match: size of file1 < file2 (1 < 24)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/unicode_dirnames/怖い/Unicode testfile.txt')
check_conditions('testdir/with spaces a', 'testdir/unicode_dirnames/怖い/Unicode testfile.txt')
check_conditions: no match: size of file1 < file2 (12 < 24)
checkmatch: recursing tree: right
checkmatch ('testdir/notsotinydupe1', 'testdir/unicode_dirnames/怖い/Unicode testfile.txt')
check_conditions('testdir/notsotinydupe1', 'testdir/unicode_dirnames/怖い/Unicode testfile.txt')
check_conditions: no match: size of file1 > file2 (66 > 24)
checkmatch: recursing tree: left
checkmatch ('testdir/extensions/fake_doc_001.doc', 'testdir/unicode_dirnames/怖い/Unicode testfile.txt')
check_conditions('testdir/extensions/fake_doc_001.doc', 'testdir/unicode_dirnames/怖い/Unicode testfile.txt')
check_conditions: no match: size of file1 < file2 (14 < 24)
checkmatch: recursing tree: right
checkmatch ('testdir/unicode_dirnames/행운을 빈다/Unicode testfile.txt', 'testdir/unicode_dirnames/怖い/Unicode testfile.txt')
check_conditions('testdir/unicode_dirnames/행운을 빈다/Unicode testfile.txt', 'testdir/unicode_dirnames/怖い/Unicode testfile.txt')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/unicode_dirnames/행운을 빈다/Unicode testfile.txt', 4096)
get_filehash: returning hash: 0xc1d51a632a5c0773
get_filehash('testdir/unicode_dirnames/怖い/Unicode testfile.txt', 4096)
get_filehash: returning hash: 0xc1d51a632a5c0773
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/unicode_dirnames/행운을 빈다/Unicode testfile.txt', 'testdir/unicode_dirnames/怖い/Unicode testfile.txt'
MAIN: current file: testdir/unicode_dirnames/दसविदानिया/Unicode testfile.txt
checkmatch ('testdir/atinydupe0', 'testdir/unicode_dirnames/दसविदानिया/Unicode testfile.txt')
check_conditions('testdir/atinydupe0', 'testdir/unicode_dirnames/दसविदानिया/Unicode testfile.txt')
check_conditions: no match: size of file1 < file2 (1 < 24)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/unicode_dirnames/दसविदानिया/Unicode testfile.txt')
check_conditions('testdir/with spaces a', 'testdir/unicode_dirnames/दसविदानिया/Unicode testfile.txt')
check_conditions: no match: size of file1 < file2 (12 < 24)
checkmatch: recursing tree: right
checkmatch ('testdir/notsotinydupe1', 'testdir/unicode_dirnames/दसविदानिया/Unicode testfile.txt')
check_conditions('testdir/notsotinydupe1', 'testdir/unicode_dirnames/दसविदानिया/Unicode testfile.txt')
check_conditions: no match: size of file1 > file2 (66 > 24)
checkmatch: recursing tree: left
checkmatch ('testdir/extensions/fake_doc_001.doc', 'testdir/unicode_dirnames/दसविदानिया/Unicode testfile.txt')
check_conditions('testdir/extensions/fake_doc_001.doc', 'testdir/unicode_dirnames/दसविदानिया/Unicode testfile.txt')
check_conditions: no match: size of file1 < file2 (14 < 24)
checkmatch: recursing tree: right
checkmatch ('testdir/unicode_dirnames/怖い/Unicode testfile.txt', 'testdir/unicode_dirnames/दसविदानिया/Unicode testfile.txt')
check_conditions('testdir/unicode_dirnames/怖い/Unicode testfile.txt', 'testdir/unicode_dirnames/दसविदानिया/Unicode testfile.txt')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/unicode_dirnames/दसविदानिया/Unicode testfile.txt', 4096)
get_filehash: returning hash: 0xc1d51a632a5c0773
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/unicode_dirnames/怖い/Unicode testfile.txt', 'testdir/unicode_dirnames/दसविदानिया/Unicode testfile.txt'
MAIN: current file: testdir/unicode_dirnames/до свидания/Unicode testfile.txt
checkmatch ('testdir/atinydupe0', 'testdir/unicode_dirnames/до свидания/Unicode testfile.txt')
check_conditions('testdir/atinydupe0', 'testdir/unicode_dirnames/до свидания/Unicode testfile.txt')
check_conditions: no match: size of file1 < file2 (1 < 24)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/unicode_dirnames/до свидания/Unicode testfile.txt')
check_conditions('testdir/with spaces a', 'testdir/unicode_dirnames/до свидания/Unicode testfile.txt')
check_conditions: no match: size of file1 < file2 (12 < 24)
checkmatch: recursing tree: right
checkmatch ('testdir/notsotinydupe1', 'testdir/unicode_dirnames/до свидания/Unicode testfile.txt')
check_conditions('testdir/notsotinydupe1', 'testdir/unicode_dirnames/до свидания/Unicode testfile.txt')
check_conditions: no match: size of file1 > file2 (66 > 24)
checkmatch: recursing tree: left
checkmatch ('testdir/extensions/fake_doc_001.doc', 'testdir/unicode_dirnames/до свидания/Unicode testfile.txt')
check_conditions('testdir/extensions/fake_doc_001.doc', 'testdir/unicode_dirnames/до свидания/Unicode testfile.txt')
check_conditions: no match: size of file1 < file2 (14 < 24)
checkmatch: recursing tree: right
checkmatch ('testdir/unicode_dirnames/दसविदानिया/Unicode testfile.txt', 'testdir/unicode_dirnames/до свидания/Unicode testfile.txt')
check_conditions('testdir/unicode_dirnames/दसविदानिया/Unicode testfile.txt', 'testdir/unicode_dirnames/до свидания/Unicode testfile.txt')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/unicode_dirnames/до свидания/Unicode testfile.txt', 4096)
get_filehash: returning hash: 0xc1d51a632a5c0773
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/unicode_dirnames/दसविदानिया/Unicode testfile.txt', 'testdir/unicode_dirnames/до свидания/Unicode testfile.txt'
MAIN: current file: testdir/unicode_dirnames/Ελληνιά/Unicode testfile.txt
checkmatch ('testdir/atinydupe0', 'testdir/unicode_dirnames/Ελληνιά/Unicode testfile.txt')
check_conditions('testdir/atinydupe0', 'testdir/unicode_dirnames/Ελληνιά/Unicode testfile.txt')
check_conditions: no match: size of file1 < file2 (1 < 24)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/unicode_dirnames/Ελληνιά/Unicode testfile.txt')
check_conditions('testdir/with spaces a', 'testdir/unicode_dirnames/Ελληνιά/Unicode testfile.txt')
check_conditions: no match: size of file1 < file2 (12 < 24)
checkmatch: recursing tree: right
checkmatch ('testdir/notsotinydupe1', 'testdir/unicode_dirnames/Ελληνιά/Unicode testfile.txt')
check_conditions('testdir/notsotinydupe1', 'testdir/unicode_dirnames/Ελληνιά/Unicode testfile.txt')
check_conditions: no match: size of file1 > file2 (66 > 24)
checkmatch: recursing tree: left
checkmatch ('testdir/extensions/fake_doc_001.doc', 'testdir/unicode_dirnames/Ελληνιά/Unicode testfile.txt')
check_conditions('testdir/extensions/fake_doc_001.doc', 'testdir/unicode_dirnames/Ελληνιά/Unicode testfile.txt')
check_conditions: no match: size of file1 < file2 (14 < 24)
checkmatch: recursing tree: right
checkmatch ('testdir/unicode_dirnames/до свидания/Unicode testfile.txt', 'testdir/unicode_dirnames/Ελληνιά/Unicode testfile.txt')
check_conditions('testdir/unicode_dirnames/до свидания/Unicode testfile.txt', 'testdir/unicode_dirnames/Ελληνιά/Unicode testfile.txt')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/unicode_dirnames/Ελληνιά/Unicode testfile.txt', 4096)
get_filehash: returning hash: 0xc1d51a632a5c0773
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/unicode_dirnames/до свидания/Unicode testfile.txt', 'testdir/unicode_dirnames/Ελληνιά/Unicode testfile.txt'
MAIN: current file: testdir/symlink_test/regular_file
checkmatch ('testdir/atinydupe0', 'testdir/symlink_test/regular_file')
check_conditions('testdir/atinydupe0', 'testdir/symlink_test/regular_file')
check_conditions: no match: size of file1 < file2 (1 < 18)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/symlink_test/regular_file')
check_conditions('testdir/with spaces a', 'testdir/symlink_test/regular_file')
check_conditions: no match: size of file1 < file2 (12 < 18)
checkmatch: recursing tree: right
checkmatch ('testdir/notsotinydupe1', 'testdir/symlink_test/regular_file')
check_conditions('testdir/notsotinydupe1', 'testdir/symlink_test/regular_file')
check_conditions: no match: size of file1 > file2 (66 > 18)
checkmatch: recursing tree: left
checkmatch ('testdir/extensions/fake_doc_001.doc', 'testdir/symlink_test/regular_file')
check_conditions('testdir/extensions/fake_doc_001.doc', 'testdir/symlink_test/regular_file')
check_conditions: no match: size of file1 < file2 (14 < 18)
checkmatch: recursing tree: right
checkmatch ('testdir/unicode_dirnames/Ελληνιά/Unicode testfile.txt', 'testdir/symlink_test/regular_file')
check_conditions('testdir/unicode_dirnames/Ελληνιά/Unicode testfile.txt', 'testdir/symlink_test/regular_file')
check_conditions: no match: size of file1 > file2 (24 > 18)
checkmatch: registering file: left
registerfile(direction 1)
MAIN: current file: testdir/recursed_c/two
checkmatch ('testdir/atinydupe0', 'testdir/recursed_c/two')
check_conditions('testdir/atinydupe0', 'testdir/recursed_c/two')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/recursed_c/two')
check_conditions('testdir/with spaces a', 'testdir/recursed_c/two')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/.hidden_two', 'testdir/recursed_c/two')
check_conditions('testdir/.hidden_two', 'testdir/recursed_c/two')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/recursed_c/two', 4096)
get_filehash: returning hash: 0x6e15961ef9042d0f
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/.hidden_two', 'testdir/recursed_c/two'
MAIN: current file: testdir/recursed_c/one
checkmatch ('testdir/atinydupe0', 'testdir/recursed_c/one')
check_conditions('testdir/atinydupe0', 'testdir/recursed_c/one')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/recursed_c/one')
check_conditions('testdir/with spaces a', 'testdir/recursed_c/one')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/.hidden_two', 'testdir/recursed_c/one')
check_conditions('testdir/.hidden_two', 'testdir/recursed_c/one')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/recursed_c/one', 4096)
get_filehash: returning hash: 0x22c8b2fe096816df
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: left
checkmatch ('testdir/nine_upsidedown', 'testdir/recursed_c/one')
check_conditions('testdir/nine_upsidedown', 'testdir/recursed_c/one')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: registering file: right
registerfile(direction 2)
MAIN: current file: testdir/recursed_c/five
checkmatch ('testdir/atinydupe0', 'testdir/recursed_c/five')
check_conditions('testdir/atinydupe0', 'testdir/recursed_c/five')
check_conditions: no match: size of file1 < file2 (1 < 5)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/recursed_c/five')
check_conditions('testdir/with spaces a', 'testdir/recursed_c/five')
check_conditions: no match: size of file1 > file2 (12 > 5)
checkmatch: recursing tree: left
checkmatch ('testdir/.hidden_two', 'testdir/recursed_c/five')
check_conditions('testdir/.hidden_two', 'testdir/recursed_c/five')
check_conditions: no match: size of file1 < file2 (4 < 5)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/recursed_c/five')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/recursed_c/five')
check_conditions: no match: size of file1 > file2 (6 > 5)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_startwithzero/1file1', 'testdir/recursed_c/five')
check_conditions('testdir/numeric_sort_startwithzero/1file1', 'testdir/recursed_c/five')
check_conditions: no match: size of file1 > file2 (6 > 5)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_digitsafter/file1a2', 'testdir/recursed_c/five')
check_conditions('testdir/numeric_sort_digitsafter/file1a2', 'testdir/recursed_c/five')
check_conditions: no match: size of file1 < file2 (4 < 5)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_copysuffixes/file1-0.jpg', 'testdir/recursed_c/five')
check_conditions('testdir/numeric_sort_copysuffixes/file1-0.jpg', 'testdir/recursed_c/five')
check_conditions: no match: size of file1 < file2 (4 < 5)
checkmatch: registering file: right
registerfile(direction 2)
MAIN: current file: testdir/recursed_c/level2/two
checkmatch ('testdir/atinydupe0', 'testdir/recursed_c/level2/two')
check_conditions('testdir/atinydupe0', 'testdir/recursed_c/level2/two')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/recursed_c/level2/two')
check_conditions('testdir/with spaces a', 'testdir/recursed_c/level2/two')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/.hidden_two', 'testdir/recursed_c/level2/two')
check_conditions('testdir/.hidden_two', 'testdir/recursed_c/level2/two')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/recursed_c/level2/two', 4096)
get_filehash: returning hash: 0x6e15961ef9042d0f
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/.hidden_two', 'testdir/recursed_c/level2/two'
MAIN: current file: testdir/recursed_c/level2/one
checkmatch ('testdir/atinydupe0', 'testdir/recursed_c/level2/one')
check_conditions('testdir/atinydupe0', 'testdir/recursed_c/level2/one')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/recursed_c/level2/one')
check_conditions('testdir/with spaces a', 'testdir/recursed_c/level2/one')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/.hidden_two', 'testdir/recursed_c/level2/one')
check_conditions('testdir/.hidden_two', 'testdir/recursed_c/level2/one')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/recursed_c/level2/one', 4096)
get_filehash: returning hash: 0x22c8b2fe096816df
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: left
checkmatch ('testdir/nine_upsidedown', 'testdir/recursed_c/level2/one')
check_conditions('testdir/nine_upsidedown', 'testdir/recursed_c/level2/one')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/recursed_c/one', 'testdir/recursed_c/level2/one')
check_conditions('testdir/recursed_c/one', 'testdir/recursed_c/level2/one')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/recursed_c/one', 'testdir/recursed_c/level2/one'
MAIN: current file: testdir/recursed_c/level2/five
checkmatch ('testdir/atinydupe0', 'testdir/recursed_c/level2/five')
check_conditions('testdir/atinydupe0', 'testdir/recursed_c/level2/five')
check_conditions: no match: size of file1 < file2 (1 < 5)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/recursed_c/level2/five')
check_conditions('testdir/with spaces a', 'testdir/recursed_c/level2/five')
check_conditions: no match: size of file1 > file2 (12 > 5)
checkmatch: recursing tree: left
checkmatch ('testdir/.hidden_two', 'testdir/recursed_c/level2/five')
check_conditions('testdir/.hidden_two', 'testdir/recursed_c/level2/five')
check_conditions: no match: size of file1 < file2 (4 < 5)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/recursed_c/level2/five')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/recursed_c/level2/five')
check_conditions: no match: size of file1 > file2 (6 > 5)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_startwithzero/1file1', 'testdir/recursed_c/level2/five')
check_conditions('testdir/numeric_sort_startwithzero/1file1', 'testdir/recursed_c/level2/five')
check_conditions: no match: size of file1 > file2 (6 > 5)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_digitsafter/file1a2', 'testdir/recursed_c/level2/five')
check_conditions('testdir/numeric_sort_digitsafter/file1a2', 'testdir/recursed_c/level2/five')
check_conditions: no match: size of file1 < file2 (4 < 5)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_copysuffixes/file1-0.jpg', 'testdir/recursed_c/level2/five')
check_conditions('testdir/numeric_sort_copysuffixes/file1-0.jpg', 'testdir/recursed_c/level2/five')
check_conditions: no match: size of file1 < file2 (4 < 5)
checkmatch: recursing tree: right
checkmatch ('testdir/recursed_c/five', 'testdir/recursed_c/level2/five')
check_conditions('testdir/recursed_c/five', 'testdir/recursed_c/level2/five')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/recursed_c/five', 4096)
get_filehash: returning hash: 0x9b47415e544d5bb9
get_filehash('testdir/recursed_c/level2/five', 4096)
get_filehash: returning hash: 0x9b47415e544d5bb9
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/recursed_c/five', 'testdir/recursed_c/level2/five'
MAIN: current file: testdir/recursed_b/two_plus_one
checkmatch ('testdir/atinydupe0', 'testdir/recursed_b/two_plus_one')
check_conditions('testdir/atinydupe0', 'testdir/recursed_b/two_plus_one')
check_conditions: no match: size of file1 < file2 (1 < 6)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/recursed_b/two_plus_one')
check_conditions('testdir/with spaces a', 'testdir/recursed_b/two_plus_one')
check_conditions: no match: size of file1 > file2 (12 > 6)
checkmatch: recursing tree: left
checkmatch ('testdir/.hidden_two', 'testdir/recursed_b/two_plus_one')
check_conditions('testdir/.hidden_two', 'testdir/recursed_b/two_plus_one')
check_conditions: no match: size of file1 < file2 (4 < 6)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/recursed_b/two_plus_one')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/recursed_b/two_plus_one')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/recursed_b/two_plus_one', 4096)
get_filehash: returning hash: 0xf06dcb4728fd06d7
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file1', 'testdir/recursed_b/two_plus_one')
check_conditions('testdir/numeric_sort_startwithzero/0file1', 'testdir/recursed_b/two_plus_one')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/00file4', 'testdir/recursed_b/two_plus_one')
check_conditions('testdir/numeric_sort_startwithzero/00file4', 'testdir/recursed_b/two_plus_one')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: registering file: right
registerfile(direction 2)
MAIN: current file: testdir/recursed_b/three
checkmatch ('testdir/atinydupe0', 'testdir/recursed_b/three')
check_conditions('testdir/atinydupe0', 'testdir/recursed_b/three')
check_conditions: no match: size of file1 < file2 (1 < 6)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/recursed_b/three')
check_conditions('testdir/with spaces a', 'testdir/recursed_b/three')
check_conditions: no match: size of file1 > file2 (12 > 6)
checkmatch: recursing tree: left
checkmatch ('testdir/.hidden_two', 'testdir/recursed_b/three')
check_conditions('testdir/.hidden_two', 'testdir/recursed_b/three')
check_conditions: no match: size of file1 < file2 (4 < 6)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/recursed_b/three')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/recursed_b/three')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/recursed_b/three', 4096)
get_filehash: returning hash: 0xf06dcb4728fd06d7
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file1', 'testdir/recursed_b/three')
check_conditions('testdir/numeric_sort_startwithzero/0file1', 'testdir/recursed_b/three')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/00file4', 'testdir/recursed_b/three')
check_conditions('testdir/numeric_sort_startwithzero/00file4', 'testdir/recursed_b/three')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/recursed_b/two_plus_one', 'testdir/recursed_b/three')
check_conditions('testdir/recursed_b/two_plus_one', 'testdir/recursed_b/three')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/recursed_b/two_plus_one', 'testdir/recursed_b/three'
MAIN: current file: testdir/recursed_b/one
checkmatch ('testdir/atinydupe0', 'testdir/recursed_b/one')
check_conditions('testdir/atinydupe0', 'testdir/recursed_b/one')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/recursed_b/one')
check_conditions('testdir/with spaces a', 'testdir/recursed_b/one')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/.hidden_two', 'testdir/recursed_b/one')
check_conditions('testdir/.hidden_two', 'testdir/recursed_b/one')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/recursed_b/one', 4096)
get_filehash: returning hash: 0x22c8b2fe096816df
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: left
checkmatch ('testdir/nine_upsidedown', 'testdir/recursed_b/one')
check_conditions('testdir/nine_upsidedown', 'testdir/recursed_b/one')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/recursed_c/level2/one', 'testdir/recursed_b/one')
check_conditions('testdir/recursed_c/level2/one', 'testdir/recursed_b/one')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/recursed_c/level2/one', 'testdir/recursed_b/one'
MAIN: current file: testdir/recursed_b/four
checkmatch ('testdir/atinydupe0', 'testdir/recursed_b/four')
check_conditions('testdir/atinydupe0', 'testdir/recursed_b/four')
check_conditions: no match: size of file1 < file2 (1 < 5)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/recursed_b/four')
check_conditions('testdir/with spaces a', 'testdir/recursed_b/four')
check_conditions: no match: size of file1 > file2 (12 > 5)
checkmatch: recursing tree: left
checkmatch ('testdir/.hidden_two', 'testdir/recursed_b/four')
check_conditions('testdir/.hidden_two', 'testdir/recursed_b/four')
check_conditions: no match: size of file1 < file2 (4 < 5)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/recursed_b/four')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/recursed_b/four')
check_conditions: no match: size of file1 > file2 (6 > 5)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_startwithzero/1file1', 'testdir/recursed_b/four')
check_conditions('testdir/numeric_sort_startwithzero/1file1', 'testdir/recursed_b/four')
check_conditions: no match: size of file1 > file2 (6 > 5)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_digitsafter/file1a2', 'testdir/recursed_b/four')
check_conditions('testdir/numeric_sort_digitsafter/file1a2', 'testdir/recursed_b/four')
check_conditions: no match: size of file1 < file2 (4 < 5)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_copysuffixes/file1-0.jpg', 'testdir/recursed_b/four')
check_conditions('testdir/numeric_sort_copysuffixes/file1-0.jpg', 'testdir/recursed_b/four')
check_conditions: no match: size of file1 < file2 (4 < 5)
checkmatch: recursing tree: right
checkmatch ('testdir/recursed_c/five', 'testdir/recursed_b/four')
check_conditions('testdir/recursed_c/five', 'testdir/recursed_b/four')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/recursed_b/four', 4096)
get_filehash: returning hash: 0xfd17850e36fa23a3
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: registering file: right
registerfile(direction 2)
MAIN: current file: testdir/recursed_a/two_2
checkmatch ('testdir/atinydupe0', 'testdir/recursed_a/two_2')
check_conditions('testdir/atinydupe0', 'testdir/recursed_a/two_2')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/recursed_a/two_2')
check_conditions('testdir/with spaces a', 'testdir/recursed_a/two_2')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/.hidden_two', 'testdir/recursed_a/two_2')
check_conditions('testdir/.hidden_two', 'testdir/recursed_a/two_2')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/recursed_a/two_2', 4096)
get_filehash: returning hash: 0x6e15961ef9042d0f
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/.hidden_two', 'testdir/recursed_a/two_2'
MAIN: current file: testdir/recursed_a/two
checkmatch ('testdir/atinydupe0', 'testdir/recursed_a/two')
check_conditions('testdir/atinydupe0', 'testdir/recursed_a/two')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/recursed_a/two')
check_conditions('testdir/with spaces a', 'testdir/recursed_a/two')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/.hidden_two', 'testdir/recursed_a/two')
check_conditions('testdir/.hidden_two', 'testdir/recursed_a/two')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/recursed_a/two', 4096)
get_filehash: returning hash: 0x6e15961ef9042d0f
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/.hidden_two', 'testdir/recursed_a/two'
MAIN: current file: testdir/recursed_a/one_2
checkmatch ('testdir/atinydupe0', 'testdir/recursed_a/one_2')
check_conditions('testdir/atinydupe0', 'testdir/recursed_a/one_2')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/recursed_a/one_2')
check_conditions('testdir/with spaces a', 'testdir/recursed_a/one_2')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/.hidden_two', 'testdir/recursed_a/one_2')
check_conditions('testdir/.hidden_two', 'testdir/recursed_a/one_2')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/recursed_a/one_2', 4096)
get_filehash: returning hash: 0x22c8b2fe096816df
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: left
checkmatch ('testdir/nine_upsidedown', 'testdir/recursed_a/one_2')
check_conditions('testdir/nine_upsidedown', 'testdir/recursed_a/one_2')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/recursed_b/one', 'testdir/recursed_a/one_2')
check_conditions('testdir/recursed_b/one', 'testdir/recursed_a/one_2')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/recursed_b/one', 'testdir/recursed_a/one_2'
MAIN: current file: testdir/recursed_a/one
checkmatch ('testdir/atinydupe0', 'testdir/recursed_a/one')
check_conditions('testdir/atinydupe0', 'testdir/recursed_a/one')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/recursed_a/one')
check_conditions('testdir/with spaces a', 'testdir/recursed_a/one')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/.hidden_two', 'testdir/recursed_a/one')
check_conditions('testdir/.hidden_two', 'testdir/recursed_a/one')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/recursed_a/one', 4096)
get_filehash: returning hash: 0x22c8b2fe096816df
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: left
checkmatch ('testdir/nine_upsidedown', 'testdir/recursed_a/one')
check_conditions('testdir/nine_upsidedown', 'testdir/recursed_a/one')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: right
checkmatch ('testdir/recursed_a/one_2', 'testdir/recursed_a/one')
check_conditions('testdir/recursed_a/one_2', 'testdir/recursed_a/one')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/recursed_a/one_2', 'testdir/recursed_a/one'
MAIN: current file: testdir/recursed_a/five_2
checkmatch ('testdir/atinydupe0', 'testdir/recursed_a/five_2')
check_conditions('testdir/atinydupe0', 'testdir/recursed_a/five_2')
check_conditions: no match: size of file1 < file2 (1 < 5)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/recursed_a/five_2')
check_conditions('testdir/with spaces a', 'testdir/recursed_a/five_2')
check_conditions: no match: size of file1 > file2 (12 > 5)
checkmatch: recursing tree: left
checkmatch ('testdir/.hidden_two', 'testdir/recursed_a/five_2')
check_conditions('testdir/.hidden_two', 'testdir/recursed_a/five_2')
check_conditions: no match: size of file1 < file2 (4 < 5)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/recursed_a/five_2')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/recursed_a/five_2')
check_conditions: no match: size of file1 > file2 (6 > 5)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_startwithzero/1file1', 'testdir/recursed_a/five_2')
check_conditions('testdir/numeric_sort_startwithzero/1file1', 'testdir/recursed_a/five_2')
check_conditions: no match: size of file1 > file2 (6 > 5)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_digitsafter/file1a2', 'testdir/recursed_a/five_2')
check_conditions('testdir/numeric_sort_digitsafter/file1a2', 'testdir/recursed_a/five_2')
check_conditions: no match: size of file1 < file2 (4 < 5)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_copysuffixes/file1-0.jpg', 'testdir/recursed_a/five_2')
check_conditions('testdir/numeric_sort_copysuffixes/file1-0.jpg', 'testdir/recursed_a/five_2')
check_conditions: no match: size of file1 < file2 (4 < 5)
checkmatch: recursing tree: right
checkmatch ('testdir/recursed_c/five', 'testdir/recursed_a/five_2')
check_conditions('testdir/recursed_c/five', 'testdir/recursed_a/five_2')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/recursed_a/five_2', 4096)
get_filehash: returning hash: 0x9b47415e544d5bb9
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/recursed_c/five', 'testdir/recursed_a/five_2'
MAIN: current file: testdir/recursed_a/five
checkmatch ('testdir/atinydupe0', 'testdir/recursed_a/five')
check_conditions('testdir/atinydupe0', 'testdir/recursed_a/five')
check_conditions: no match: size of file1 < file2 (1 < 5)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/recursed_a/five')
check_conditions('testdir/with spaces a', 'testdir/recursed_a/five')
check_conditions: no match: size of file1 > file2 (12 > 5)
checkmatch: recursing tree: left
checkmatch ('testdir/.hidden_two', 'testdir/recursed_a/five')
check_conditions('testdir/.hidden_two', 'testdir/recursed_a/five')
check_conditions: no match: size of file1 < file2 (4 < 5)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/recursed_a/five')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/recursed_a/five')
check_conditions: no match: size of file1 > file2 (6 > 5)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_startwithzero/1file1', 'testdir/recursed_a/five')
check_conditions('testdir/numeric_sort_startwithzero/1file1', 'testdir/recursed_a/five')
check_conditions: no match: size of file1 > file2 (6 > 5)
checkmatch: recursing tree: left
checkmatch ('testdir/numeric_sort_digitsafter/file1a2', 'testdir/recursed_a/five')
check_conditions('testdir/numeric_sort_digitsafter/file1a2', 'testdir/recursed_a/five')
check_conditions: no match: size of file1 < file2 (4 < 5)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_copysuffixes/file1-0.jpg', 'testdir/recursed_a/five')
check_conditions('testdir/numeric_sort_copysuffixes/file1-0.jpg', 'testdir/recursed_a/five')
check_conditions: no match: size of file1 < file2 (4 < 5)
checkmatch: recursing tree: right
checkmatch ('testdir/recursed_a/five_2', 'testdir/recursed_a/five')
check_conditions('testdir/recursed_a/five_2', 'testdir/recursed_a/five')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/recursed_a/five', 4096)
get_filehash: returning hash: 0x9b47415e544d5bb9
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/recursed_a/five_2', 'testdir/recursed_a/five'
MAIN: current file: testdir/isolate/4/8.txt
checkmatch ('testdir/atinydupe0', 'testdir/isolate/4/8.txt')
check_conditions('testdir/atinydupe0', 'testdir/isolate/4/8.txt')
check_conditions: no match: size of file1 < file2 (1 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/isolate/4/8.txt')
check_conditions('testdir/with spaces a', 'testdir/isolate/4/8.txt')
check_conditions: no match: size of file1 > file2 (12 > 8)
checkmatch: recursing tree: left
checkmatch ('testdir/.hidden_two', 'testdir/isolate/4/8.txt')
check_conditions('testdir/.hidden_two', 'testdir/isolate/4/8.txt')
check_conditions: no match: size of file1 < file2 (4 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/isolate/4/8.txt')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/isolate/4/8.txt')
check_conditions: no match: size of file1 < file2 (6 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file1', 'testdir/isolate/4/8.txt')
check_conditions('testdir/numeric_sort_startwithzero/0file1', 'testdir/isolate/4/8.txt')
check_conditions: no match: size of file1 < file2 (6 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/00file4', 'testdir/isolate/4/8.txt')
check_conditions('testdir/numeric_sort_startwithzero/00file4', 'testdir/isolate/4/8.txt')
check_conditions: no match: size of file1 < file2 (6 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/recursed_b/three', 'testdir/isolate/4/8.txt')
check_conditions('testdir/recursed_b/three', 'testdir/isolate/4/8.txt')
check_conditions: no match: size of file1 < file2 (6 < 8)
checkmatch: registering file: right
registerfile(direction 2)
MAIN: current file: testdir/isolate/3/7.txt
checkmatch ('testdir/atinydupe0', 'testdir/isolate/3/7.txt')
check_conditions('testdir/atinydupe0', 'testdir/isolate/3/7.txt')
check_conditions: no match: size of file1 < file2 (1 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/isolate/3/7.txt')
check_conditions('testdir/with spaces a', 'testdir/isolate/3/7.txt')
check_conditions: no match: size of file1 > file2 (12 > 8)
checkmatch: recursing tree: left
checkmatch ('testdir/.hidden_two', 'testdir/isolate/3/7.txt')
check_conditions('testdir/.hidden_two', 'testdir/isolate/3/7.txt')
check_conditions: no match: size of file1 < file2 (4 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/isolate/3/7.txt')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/isolate/3/7.txt')
check_conditions: no match: size of file1 < file2 (6 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file1', 'testdir/isolate/3/7.txt')
check_conditions('testdir/numeric_sort_startwithzero/0file1', 'testdir/isolate/3/7.txt')
check_conditions: no match: size of file1 < file2 (6 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/00file4', 'testdir/isolate/3/7.txt')
check_conditions('testdir/numeric_sort_startwithzero/00file4', 'testdir/isolate/3/7.txt')
check_conditions: no match: size of file1 < file2 (6 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/recursed_b/three', 'testdir/isolate/3/7.txt')
check_conditions('testdir/recursed_b/three', 'testdir/isolate/3/7.txt')
check_conditions: no match: size of file1 < file2 (6 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/isolate/4/8.txt', 'testdir/isolate/3/7.txt')
check_conditions('testdir/isolate/4/8.txt', 'testdir/isolate/3/7.txt')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/isolate/4/8.txt', 4096)
get_filehash: returning hash: 0x6bca9a4fff35fc97
get_filehash('testdir/isolate/3/7.txt', 4096)
get_filehash: returning hash: 0x6bca9a4fff35fc97
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/isolate/4/8.txt', 'testdir/isolate/3/7.txt'
MAIN: current file: testdir/isolate/3/6.txt
checkmatch ('testdir/atinydupe0', 'testdir/isolate/3/6.txt')
check_conditions('testdir/atinydupe0', 'testdir/isolate/3/6.txt')
check_conditions: no match: size of file1 < file2 (1 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/isolate/3/6.txt')
check_conditions('testdir/with spaces a', 'testdir/isolate/3/6.txt')
check_conditions: no match: size of file1 > file2 (12 > 8)
checkmatch: recursing tree: left
checkmatch ('testdir/.hidden_two', 'testdir/isolate/3/6.txt')
check_conditions('testdir/.hidden_two', 'testdir/isolate/3/6.txt')
check_conditions: no match: size of file1 < file2 (4 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/isolate/3/6.txt')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/isolate/3/6.txt')
check_conditions: no match: size of file1 < file2 (6 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file1', 'testdir/isolate/3/6.txt')
check_conditions('testdir/numeric_sort_startwithzero/0file1', 'testdir/isolate/3/6.txt')
check_conditions: no match: size of file1 < file2 (6 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/00file4', 'testdir/isolate/3/6.txt')
check_conditions('testdir/numeric_sort_startwithzero/00file4', 'testdir/isolate/3/6.txt')
check_conditions: no match: size of file1 < file2 (6 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/recursed_b/three', 'testdir/isolate/3/6.txt')
check_conditions('testdir/recursed_b/three', 'testdir/isolate/3/6.txt')
check_conditions: no match: size of file1 < file2 (6 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/isolate/3/7.txt', 'testdir/isolate/3/6.txt')
check_conditions('testdir/isolate/3/7.txt', 'testdir/isolate/3/6.txt')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/isolate/3/6.txt', 4096)
get_filehash: returning hash: 0x6bca9a4fff35fc97
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/isolate/3/7.txt', 'testdir/isolate/3/6.txt'
MAIN: current file: testdir/isolate/3/5.txt
checkmatch ('testdir/atinydupe0', 'testdir/isolate/3/5.txt')
check_conditions('testdir/atinydupe0', 'testdir/isolate/3/5.txt')
check_conditions: no match: size of file1 < file2 (1 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/isolate/3/5.txt')
check_conditions('testdir/with spaces a', 'testdir/isolate/3/5.txt')
check_conditions: no match: size of file1 > file2 (12 > 8)
checkmatch: recursing tree: left
checkmatch ('testdir/.hidden_two', 'testdir/isolate/3/5.txt')
check_conditions('testdir/.hidden_two', 'testdir/isolate/3/5.txt')
check_conditions: no match: size of file1 < file2 (4 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/isolate/3/5.txt')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/isolate/3/5.txt')
check_conditions: no match: size of file1 < file2 (6 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file1', 'testdir/isolate/3/5.txt')
check_conditions('testdir/numeric_sort_startwithzero/0file1', 'testdir/isolate/3/5.txt')
check_conditions: no match: size of file1 < file2 (6 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/00file4', 'testdir/isolate/3/5.txt')
check_conditions('testdir/numeric_sort_startwithzero/00file4', 'testdir/isolate/3/5.txt')
check_conditions: no match: size of file1 < file2 (6 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/recursed_b/three', 'testdir/isolate/3/5.txt')
check_conditions('testdir/recursed_b/three', 'testdir/isolate/3/5.txt')
check_conditions: no match: size of file1 < file2 (6 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/isolate/3/6.txt', 'testdir/isolate/3/5.txt')
check_conditions('testdir/isolate/3/6.txt', 'testdir/isolate/3/5.txt')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/isolate/3/5.txt', 4096)
get_filehash: returning hash: 0x6bca9a4fff35fc97
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/isolate/3/6.txt', 'testdir/isolate/3/5.txt'
MAIN: current file: testdir/isolate/2/4.txt
checkmatch ('testdir/atinydupe0', 'testdir/isolate/2/4.txt')
check_conditions('testdir/atinydupe0', 'testdir/isolate/2/4.txt')
check_conditions: no match: size of file1 < file2 (1 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/isolate/2/4.txt')
check_conditions('testdir/with spaces a', 'testdir/isolate/2/4.txt')
check_conditions: no match: size of file1 > file2 (12 > 8)
checkmatch: recursing tree: left
checkmatch ('testdir/.hidden_two', 'testdir/isolate/2/4.txt')
check_conditions('testdir/.hidden_two', 'testdir/isolate/2/4.txt')
check_conditions: no match: size of file1 < file2 (4 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/isolate/2/4.txt')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/isolate/2/4.txt')
check_conditions: no match: size of file1 < file2 (6 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file1', 'testdir/isolate/2/4.txt')
check_conditions('testdir/numeric_sort_startwithzero/0file1', 'testdir/isolate/2/4.txt')
check_conditions: no match: size of file1 < file2 (6 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/00file4', 'testdir/isolate/2/4.txt')
check_conditions('testdir/numeric_sort_startwithzero/00file4', 'testdir/isolate/2/4.txt')
check_conditions: no match: size of file1 < file2 (6 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/recursed_b/three', 'testdir/isolate/2/4.txt')
check_conditions('testdir/recursed_b/three', 'testdir/isolate/2/4.txt')
check_conditions: no match: size of file1 < file2 (6 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/isolate/3/5.txt', 'testdir/isolate/2/4.txt')
check_conditions('testdir/isolate/3/5.txt', 'testdir/isolate/2/4.txt')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/isolate/2/4.txt', 4096)
get_filehash: returning hash: 0x6bca9a4fff35fc97
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/isolate/3/5.txt', 'testdir/isolate/2/4.txt'
MAIN: current file: testdir/isolate/2/3.txt
checkmatch ('testdir/atinydupe0', 'testdir/isolate/2/3.txt')
check_conditions('testdir/atinydupe0', 'testdir/isolate/2/3.txt')
check_conditions: no match: size of file1 < file2 (1 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/isolate/2/3.txt')
check_conditions('testdir/with spaces a', 'testdir/isolate/2/3.txt')
check_conditions: no match: size of file1 > file2 (12 > 8)
checkmatch: recursing tree: left
checkmatch ('testdir/.hidden_two', 'testdir/isolate/2/3.txt')
check_conditions('testdir/.hidden_two', 'testdir/isolate/2/3.txt')
check_conditions: no match: size of file1 < file2 (4 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/isolate/2/3.txt')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/isolate/2/3.txt')
check_conditions: no match: size of file1 < file2 (6 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file1', 'testdir/isolate/2/3.txt')
check_conditions('testdir/numeric_sort_startwithzero/0file1', 'testdir/isolate/2/3.txt')
check_conditions: no match: size of file1 < file2 (6 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/00file4', 'testdir/isolate/2/3.txt')
check_conditions('testdir/numeric_sort_startwithzero/00file4', 'testdir/isolate/2/3.txt')
check_conditions: no match: size of file1 < file2 (6 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/recursed_b/three', 'testdir/isolate/2/3.txt')
check_conditions('testdir/recursed_b/three', 'testdir/isolate/2/3.txt')
check_conditions: no match: size of file1 < file2 (6 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/isolate/2/4.txt', 'testdir/isolate/2/3.txt')
check_conditions('testdir/isolate/2/4.txt', 'testdir/isolate/2/3.txt')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/isolate/2/3.txt', 4096)
get_filehash: returning hash: 0x6bca9a4fff35fc97
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/isolate/2/4.txt', 'testdir/isolate/2/3.txt'
MAIN: current file: testdir/isolate/1/2.txt
checkmatch ('testdir/atinydupe0', 'testdir/isolate/1/2.txt')
check_conditions('testdir/atinydupe0', 'testdir/isolate/1/2.txt')
check_conditions: no match: size of file1 < file2 (1 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/isolate/1/2.txt')
check_conditions('testdir/with spaces a', 'testdir/isolate/1/2.txt')
check_conditions: no match: size of file1 > file2 (12 > 8)
checkmatch: recursing tree: left
checkmatch ('testdir/.hidden_two', 'testdir/isolate/1/2.txt')
check_conditions('testdir/.hidden_two', 'testdir/isolate/1/2.txt')
check_conditions: no match: size of file1 < file2 (4 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/isolate/1/2.txt')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/isolate/1/2.txt')
check_conditions: no match: size of file1 < file2 (6 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file1', 'testdir/isolate/1/2.txt')
check_conditions('testdir/numeric_sort_startwithzero/0file1', 'testdir/isolate/1/2.txt')
check_conditions: no match: size of file1 < file2 (6 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/00file4', 'testdir/isolate/1/2.txt')
check_conditions('testdir/numeric_sort_startwithzero/00file4', 'testdir/isolate/1/2.txt')
check_conditions: no match: size of file1 < file2 (6 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/recursed_b/three', 'testdir/isolate/1/2.txt')
check_conditions('testdir/recursed_b/three', 'testdir/isolate/1/2.txt')
check_conditions: no match: size of file1 < file2 (6 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/isolate/2/3.txt', 'testdir/isolate/1/2.txt')
check_conditions('testdir/isolate/2/3.txt', 'testdir/isolate/1/2.txt')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/isolate/1/2.txt', 4096)
get_filehash: returning hash: 0x6bca9a4fff35fc97
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/isolate/2/3.txt', 'testdir/isolate/1/2.txt'
MAIN: current file: testdir/isolate/1/1.txt
checkmatch ('testdir/atinydupe0', 'testdir/isolate/1/1.txt')
check_conditions('testdir/atinydupe0', 'testdir/isolate/1/1.txt')
check_conditions: no match: size of file1 < file2 (1 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/isolate/1/1.txt')
check_conditions('testdir/with spaces a', 'testdir/isolate/1/1.txt')
check_conditions: no match: size of file1 > file2 (12 > 8)
checkmatch: recursing tree: left
checkmatch ('testdir/.hidden_two', 'testdir/isolate/1/1.txt')
check_conditions('testdir/.hidden_two', 'testdir/isolate/1/1.txt')
check_conditions: no match: size of file1 < file2 (4 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file3', 'testdir/isolate/1/1.txt')
check_conditions('testdir/numeric_sort_startwithzero/0file3', 'testdir/isolate/1/1.txt')
check_conditions: no match: size of file1 < file2 (6 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/0file1', 'testdir/isolate/1/1.txt')
check_conditions('testdir/numeric_sort_startwithzero/0file1', 'testdir/isolate/1/1.txt')
check_conditions: no match: size of file1 < file2 (6 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/numeric_sort_startwithzero/00file4', 'testdir/isolate/1/1.txt')
check_conditions('testdir/numeric_sort_startwithzero/00file4', 'testdir/isolate/1/1.txt')
check_conditions: no match: size of file1 < file2 (6 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/recursed_b/three', 'testdir/isolate/1/1.txt')
check_conditions('testdir/recursed_b/three', 'testdir/isolate/1/1.txt')
check_conditions: no match: size of file1 < file2 (6 < 8)
checkmatch: recursing tree: right
checkmatch ('testdir/isolate/1/2.txt', 'testdir/isolate/1/1.txt')
check_conditions('testdir/isolate/1/2.txt', 'testdir/isolate/1/1.txt')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/isolate/1/1.txt', 4096)
get_filehash: returning hash: 0x6bca9a4fff35fc97
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/isolate/1/2.txt', 'testdir/isolate/1/1.txt'
MAIN: current file: testdir/block_size_tests/4097b_file2
checkmatch ('testdir/atinydupe0', 'testdir/block_size_tests/4097b_file2')
check_conditions('testdir/atinydupe0', 'testdir/block_size_tests/4097b_file2')
check_conditions: no match: size of file1 < file2 (1 < 4097)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/block_size_tests/4097b_file2')
check_conditions('testdir/with spaces a', 'testdir/block_size_tests/4097b_file2')
check_conditions: no match: size of file1 < file2 (12 < 4097)
checkmatch: recursing tree: right
checkmatch ('testdir/notsotinydupe1', 'testdir/block_size_tests/4097b_file2')
check_conditions('testdir/notsotinydupe1', 'testdir/block_size_tests/4097b_file2')
check_conditions: no match: size of file1 < file2 (66 < 4097)
checkmatch: recursing tree: right
checkmatch ('testdir/larger_file_1', 'testdir/block_size_tests/4097b_file2')
check_conditions('testdir/larger_file_1', 'testdir/block_size_tests/4097b_file2')
check_conditions: no match: size of file1 > file2 (66800 > 4097)
checkmatch: recursing tree: left
checkmatch ('testdir/larger_file_4', 'testdir/block_size_tests/4097b_file2')
check_conditions('testdir/larger_file_4', 'testdir/block_size_tests/4097b_file2')
check_conditions: no match: size of file1 > file2 (66800 > 4097)
checkmatch: recursing tree: left
checkmatch ('testdir/unicode_filenames/cassé', 'testdir/block_size_tests/4097b_file2')
check_conditions('testdir/unicode_filenames/cassé', 'testdir/block_size_tests/4097b_file2')
check_conditions: no match: size of file1 < file2 (70 < 4097)
checkmatch: registering file: right
registerfile(direction 2)
MAIN: current file: testdir/block_size_tests/4097b_file1
checkmatch ('testdir/atinydupe0', 'testdir/block_size_tests/4097b_file1')
check_conditions('testdir/atinydupe0', 'testdir/block_size_tests/4097b_file1')
check_conditions: no match: size of file1 < file2 (1 < 4097)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/block_size_tests/4097b_file1')
check_conditions('testdir/with spaces a', 'testdir/block_size_tests/4097b_file1')
check_conditions: no match: size of file1 < file2 (12 < 4097)
checkmatch: recursing tree: right
checkmatch ('testdir/notsotinydupe1', 'testdir/block_size_tests/4097b_file1')
check_conditions('testdir/notsotinydupe1', 'testdir/block_size_tests/4097b_file1')
check_conditions: no match: size of file1 < file2 (66 < 4097)
checkmatch: recursing tree: right
checkmatch ('testdir/larger_file_1', 'testdir/block_size_tests/4097b_file1')
check_conditions('testdir/larger_file_1', 'testdir/block_size_tests/4097b_file1')
check_conditions: no match: size of file1 > file2 (66800 > 4097)
checkmatch: recursing tree: left
checkmatch ('testdir/larger_file_4', 'testdir/block_size_tests/4097b_file1')
check_conditions('testdir/larger_file_4', 'testdir/block_size_tests/4097b_file1')
check_conditions: no match: size of file1 > file2 (66800 > 4097)
checkmatch: recursing tree: left
checkmatch ('testdir/unicode_filenames/cassé', 'testdir/block_size_tests/4097b_file1')
check_conditions('testdir/unicode_filenames/cassé', 'testdir/block_size_tests/4097b_file1')
check_conditions: no match: size of file1 < file2 (70 < 4097)
checkmatch: recursing tree: right
checkmatch ('testdir/block_size_tests/4097b_file2', 'testdir/block_size_tests/4097b_file1')
check_conditions('testdir/block_size_tests/4097b_file2', 'testdir/block_size_tests/4097b_file1')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/block_size_tests/4097b_file2', 4096)
get_filehash: returning hash: 0x238078c918e750ac
get_filehash('testdir/block_size_tests/4097b_file1', 4096)
get_filehash: returning hash: 0x238078c918e750ac
checkmatch: partial hashes match
get_filehash('testdir/block_size_tests/4097b_file2', 0)
get_filehash: returning hash: 0xc3d31922c50b1b63
get_filehash('testdir/block_size_tests/4097b_file1', 0)
get_filehash: returning hash: 0xc3d31922c50b1b63
checkmatch: full hashes match
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/block_size_tests/4097b_file2', 'testdir/block_size_tests/4097b_file1'
MAIN: current file: testdir/block_size_tests/4096b_file2
checkmatch ('testdir/atinydupe0', 'testdir/block_size_tests/4096b_file2')
check_conditions('testdir/atinydupe0', 'testdir/block_size_tests/4096b_file2')
check_conditions: no match: size of file1 < file2 (1 < 4096)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/block_size_tests/4096b_file2')
check_conditions('testdir/with spaces a', 'testdir/block_size_tests/4096b_file2')
check_conditions: no match: size of file1 < file2 (12 < 4096)
checkmatch: recursing tree: right
checkmatch ('testdir/notsotinydupe1', 'testdir/block_size_tests/4096b_file2')
check_conditions('testdir/notsotinydupe1', 'testdir/block_size_tests/4096b_file2')
check_conditions: no match: size of file1 < file2 (66 < 4096)
checkmatch: recursing tree: right
checkmatch ('testdir/larger_file_1', 'testdir/block_size_tests/4096b_file2')
check_conditions('testdir/larger_file_1', 'testdir/block_size_tests/4096b_file2')
check_conditions: no match: size of file1 > file2 (66800 > 4096)
checkmatch: recursing tree: left
checkmatch ('testdir/larger_file_4', 'testdir/block_size_tests/4096b_file2')
check_conditions('testdir/larger_file_4', 'testdir/block_size_tests/4096b_file2')
check_conditions: no match: size of file1 > file2 (66800 > 4096)
checkmatch: recursing tree: left
checkmatch ('testdir/unicode_filenames/cassé', 'testdir/block_size_tests/4096b_file2')
check_conditions('testdir/unicode_filenames/cassé', 'testdir/block_size_tests/4096b_file2')
check_conditions: no match: size of file1 < file2 (70 < 4096)
checkmatch: recursing tree: right
checkmatch ('testdir/block_size_tests/4097b_file1', 'testdir/block_size_tests/4096b_file2')
check_conditions('testdir/block_size_tests/4097b_file1', 'testdir/block_size_tests/4096b_file2')
check_conditions: no match: size of file1 > file2 (4097 > 4096)
checkmatch: registering file: left
registerfile(direction 1)
MAIN: current file: testdir/block_size_tests/4096b_file1
checkmatch ('testdir/atinydupe0', 'testdir/block_size_tests/4096b_file1')
check_conditions('testdir/atinydupe0', 'testdir/block_size_tests/4096b_file1')
check_conditions: no match: size of file1 < file2 (1 < 4096)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/block_size_tests/4096b_file1')
check_conditions('testdir/with spaces a', 'testdir/block_size_tests/4096b_file1')
check_conditions: no match: size of file1 < file2 (12 < 4096)
checkmatch: recursing tree: right
checkmatch ('testdir/notsotinydupe1', 'testdir/block_size_tests/4096b_file1')
check_conditions('testdir/notsotinydupe1', 'testdir/block_size_tests/4096b_file1')
check_conditions: no match: size of file1 < file2 (66 < 4096)
checkmatch: recursing tree: right
checkmatch ('testdir/larger_file_1', 'testdir/block_size_tests/4096b_file1')
check_conditions('testdir/larger_file_1', 'testdir/block_size_tests/4096b_file1')
check_conditions: no match: size of file1 > file2 (66800 > 4096)
checkmatch: recursing tree: left
checkmatch ('testdir/larger_file_4', 'testdir/block_size_tests/4096b_file1')
check_conditions('testdir/larger_file_4', 'testdir/block_size_tests/4096b_file1')
check_conditions: no match: size of file1 > file2 (66800 > 4096)
checkmatch: recursing tree: left
checkmatch ('testdir/unicode_filenames/cassé', 'testdir/block_size_tests/4096b_file1')
check_conditions('testdir/unicode_filenames/cassé', 'testdir/block_size_tests/4096b_file1')
check_conditions: no match: size of file1 < file2 (70 < 4096)
checkmatch: recursing tree: right
checkmatch ('testdir/block_size_tests/4097b_file1', 'testdir/block_size_tests/4096b_file1')
check_conditions('testdir/block_size_tests/4097b_file1', 'testdir/block_size_tests/4096b_file1')
check_conditions: no match: size of file1 > file2 (4097 > 4096)
checkmatch: recursing tree: left
checkmatch ('testdir/block_size_tests/4096b_file2', 'testdir/block_size_tests/4096b_file1')
check_conditions('testdir/block_size_tests/4096b_file2', 'testdir/block_size_tests/4096b_file1')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/block_size_tests/4096b_file2', 4096)
get_filehash: returning hash: 0x238078c918e750ac
get_filehash('testdir/block_size_tests/4096b_file1', 4096)
get_filehash: returning hash: 0x238078c918e750ac
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/block_size_tests/4096b_file2', 'testdir/block_size_tests/4096b_file1'
MAIN: current file: testdir/block_size_tests/4095b_file2
checkmatch ('testdir/atinydupe0', 'testdir/block_size_tests/4095b_file2')
check_conditions('testdir/atinydupe0', 'testdir/block_size_tests/4095b_file2')
check_conditions: no match: size of file1 < file2 (1 < 4095)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/block_size_tests/4095b_file2')
check_conditions('testdir/with spaces a', 'testdir/block_size_tests/4095b_file2')
check_conditions: no match: size of file1 < file2 (12 < 4095)
checkmatch: recursing tree: right
checkmatch ('testdir/notsotinydupe1', 'testdir/block_size_tests/4095b_file2')
check_conditions('testdir/notsotinydupe1', 'testdir/block_size_tests/4095b_file2')
check_conditions: no match: size of file1 < file2 (66 < 4095)
checkmatch: recursing tree: right
checkmatch ('testdir/larger_file_1', 'testdir/block_size_tests/4095b_file2')
check_conditions('testdir/larger_file_1', 'testdir/block_size_tests/4095b_file2')
check_conditions: no match: size of file1 > file2 (66800 > 4095)
checkmatch: recursing tree: left
checkmatch ('testdir/larger_file_4', 'testdir/block_size_tests/4095b_file2')
check_conditions('testdir/larger_file_4', 'testdir/block_size_tests/4095b_file2')
check_conditions: no match: size of file1 > file2 (66800 > 4095)
checkmatch: recursing tree: left
checkmatch ('testdir/unicode_filenames/cassé', 'testdir/block_size_tests/4095b_file2')
check_conditions('testdir/unicode_filenames/cassé', 'testdir/block_size_tests/4095b_file2')
check_conditions: no match: size of file1 < file2 (70 < 4095)
checkmatch: recursing tree: right
checkmatch ('testdir/block_size_tests/4097b_file1', 'testdir/block_size_tests/4095b_file2')
check_conditions('testdir/block_size_tests/4097b_file1', 'testdir/block_size_tests/4095b_file2')
check_conditions: no match: size of file1 > file2 (4097 > 4095)
checkmatch: recursing tree: left
checkmatch ('testdir/block_size_tests/4096b_file1', 'testdir/block_size_tests/4095b_file2')
check_conditions('testdir/block_size_tests/4096b_file1', 'testdir/block_size_tests/4095b_file2')
check_conditions: no match: size of file1 > file2 (4096 > 4095)
checkmatch: registering file: left
registerfile(direction 1)
MAIN: current file: testdir/block_size_tests/4095b_file1
checkmatch ('testdir/atinydupe0', 'testdir/block_size_tests/4095b_file1')
check_conditions('testdir/atinydupe0', 'testdir/block_size_tests/4095b_file1')
check_conditions: no match: size of file1 < file2 (1 < 4095)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/block_size_tests/4095b_file1')
check_conditions('testdir/with spaces a', 'testdir/block_size_tests/4095b_file1')
check_conditions: no match: size of file1 < file2 (12 < 4095)
checkmatch: recursing tree: right
checkmatch ('testdir/notsotinydupe1', 'testdir/block_size_tests/4095b_file1')
check_conditions('testdir/notsotinydupe1', 'testdir/block_size_tests/4095b_file1')
check_conditions: no match: size of file1 < file2 (66 < 4095)
checkmatch: recursing tree: right
checkmatch ('testdir/larger_file_1', 'testdir/block_size_tests/4095b_file1')
check_conditions('testdir/larger_file_1', 'testdir/block_size_tests/4095b_file1')
check_conditions: no match: size of file1 > file2 (66800 > 4095)
checkmatch: recursing tree: left
checkmatch ('testdir/larger_file_4', 'testdir/block_size_tests/4095b_file1')
check_conditions('testdir/larger_file_4', 'testdir/block_size_tests/4095b_file1')
check_conditions: no match: size of file1 > file2 (66800 > 4095)
checkmatch: recursing tree: left
checkmatch ('testdir/unicode_filenames/cassé', 'testdir/block_size_tests/4095b_file1')
check_conditions('testdir/unicode_filenames/cassé', 'testdir/block_size_tests/4095b_file1')
check_conditions: no match: size of file1 < file2 (70 < 4095)
checkmatch: recursing tree: right
checkmatch ('testdir/block_size_tests/4097b_file1', 'testdir/block_size_tests/4095b_file1')
check_conditions('testdir/block_size_tests/4097b_file1', 'testdir/block_size_tests/4095b_file1')
check_conditions: no match: size of file1 > file2 (4097 > 4095)
checkmatch: recursing tree: left
checkmatch ('testdir/block_size_tests/4096b_file1', 'testdir/block_size_tests/4095b_file1')
check_conditions('testdir/block_size_tests/4096b_file1', 'testdir/block_size_tests/4095b_file1')
check_conditions: no match: size of file1 > file2 (4096 > 4095)
checkmatch: recursing tree: left
checkmatch ('testdir/block_size_tests/4095b_file2', 'testdir/block_size_tests/4095b_file1')
check_conditions('testdir/block_size_tests/4095b_file2', 'testdir/block_size_tests/4095b_file1')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/block_size_tests/4095b_file2', 4096)
get_filehash: returning hash: 0xdf6c3a7df295371b
get_filehash('testdir/block_size_tests/4095b_file1', 4096)
get_filehash: returning hash: 0xdf6c3a7df295371b
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/block_size_tests/4095b_file2', 'testdir/block_size_tests/4095b_file1'
MAIN: current file: testdir/.hidden_dir/hiddendir_two
checkmatch ('testdir/atinydupe0', 'testdir/.hidden_dir/hiddendir_two')
check_conditions('testdir/atinydupe0', 'testdir/.hidden_dir/hiddendir_two')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces a', 'testdir/.hidden_dir/hiddendir_two')
check_conditions('testdir/with spaces a', 'testdir/.hidden_dir/hiddendir_two')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/.hidden_two', 'testdir/.hidden_dir/hiddendir_two')
check_conditions('testdir/.hidden_two', 'testdir/.hidden_dir/hiddendir_two')
check_conditions: all condition checks passed
checkmatch: starting file data comparisons
get_filehash('testdir/.hidden_dir/hiddendir_two', 4096)
get_filehash: returning hash: 0x6e15961ef9042d0f
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: files appear to match based on hashes
confirmmatch running
MAIN: registering matched file pair
registerpair: 'testdir/.hidden_two', 'testdir/.hidden_dir/hiddendir_two'
deletefiles: 0x7f88ab5bac38, 0, (nil)
get_max_dupes(0x7f88ab5bac38, 0x7ffe428832f4, (nil))
file_has_changed('testdir/numeric_sort_startwithzero/1file2')
file_has_changed('testdir/numeric_sort_startwithzero/1file3')
file_has_changed('testdir/numeric_sort_startwithzero/0file2')
file_has_changed('testdir/numeric_sort_startwithzero/00file5')
file_has_changed('testdir/numeric_sort_startwithzero/01file4')
file_has_changed('testdir/numeric_sort_digitsafter/file001a')
file_has_changed('testdir/numeric_sort_digitsafter/file001')
file_has_changed('testdir/numeric_sort_digitsafter/file1')
file_has_changed('testdir/numeric_sort_digitsafter/file002')
file_has_changed('testdir/numeric_sort_digitsafter/file2')
file_has_changed('testdir/numeric_sort_digitsafter/file3')
file_has_changed('testdir/numeric_sort_digitsafter/file10a')
file_has_changed('testdir/numeric_sort_digitsafter/file10')
file_has_changed('testdir/numeric_sort_digitsafter/file020')
file_has_changed('testdir/numeric_sort_digitsafter/file021')
file_has_changed('testdir/numeric_sort_digitsafter/file030')
file_has_changed('testdir/numeric_sort_digitsafter/file100')
file_has_changed('testdir/numeric_sort_copysuffixes/file1-0 (1).jpg')
file_has_changed('testdir/numeric_sort_copysuffixes/file1-0#1.jpg')
file_has_changed('testdir/numeric_sort_copysuffixes/file1-1.jpg')
file_has_changed('testdir/numeric_sort_copysuffixes/file1-1 (Copy).jpg')
file_has_changed('testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2).jpg')
file_has_changed('testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2) (2).jpg')
file_has_changed('testdir/numeric_sort_copysuffixes/file1-2.jpg')
file_has_changed('testdir/numeric_sort_copysuffixes/file1-10.jpg')
file_has_changed('testdir/extensions/fake_doc_002.doc')
file_has_changed('testdir/extensions/fake_mp3_001.mp3')
file_has_changed('testdir/extensions/fake_mp3_002.mp3')
file_has_changed('testdir/extensions/fake_mp4_001.mp4')
file_has_changed('testdir/extensions/fake_mp4_002.mp4')
file_has_changed('testdir/Stilltinydupe1')
file_has_changed('testdir/tinydupe2')
file_has_changed('testdir/Tinydupe3')
file_has_changed('testdir/tinydupe4')
file_has_changed('testdir/with spaces b')
file_has_changed('testdir/notsotinydupe2')
file_has_changed('testdir/larger_file_2')
file_has_changed('testdir/unicode_filenames/Ελληνιά')
file_has_changed('testdir/unicode_filenames/до свидания')
file_has_changed('testdir/unicode_filenames/दसविदानिया')
file_has_changed('testdir/unicode_filenames/怖い')
file_has_changed('testdir/unicode_filenames/행운을 빈다')
file_has_changed('testdir/unicode_dirnames/до свидания/Unicode testfile.txt')
file_has_changed('testdir/unicode_dirnames/दसविदानिया/Unicode testfile.txt')
file_has_changed('testdir/unicode_dirnames/怖い/Unicode testfile.txt')
file_has_changed('testdir/unicode_dirnames/행운을 빈다/Unicode testfile.txt')
file_has_changed('testdir/recursed_b/two_plus_one')
file_has_changed('testdir/recursed_a/one_2')
file_has_changed('testdir/recursed_b/one')
file_has_changed('testdir/recursed_c/level2/one')
file_has_changed('testdir/recursed_c/one')
file_has_changed('testdir/recursed_a/five_2')
file_has_changed('testdir/recursed_c/five')
file_has_changed('testdir/recursed_c/level2/five')
file_has_changed('testdir/isolate/1/2.txt')
file_has_changed('testdir/isolate/2/3.txt')
file_has_changed('testdir/isolate/2/4.txt')
file_has_changed('testdir/isolate/3/5.txt')
file_has_changed('testdir/isolate/3/6.txt')
file_has_changed('testdir/isolate/3/7.txt')
file_has_changed('testdir/isolate/4/8.txt')
file_has_changed('testdir/block_size_tests/4097b_file2')
file_has_changed('testdir/block_size_tests/4096b_file2')
file_has_changed('testdir/block_size_tests/4095b_file2')
file_has_changed('testdir/.hidden_two')
file_has_changed('testdir/recursed_a/two')
file_has_changed('testdir/recursed_a/two_2')
file_has_changed('testdir/recursed_c/level2/two')
file_has_changed('testdir/recursed_c/two')
file_has_changed('testdir/twice_one')
file_has_changed('testdir/two')
134 partial (+91 small) -> 3 full hash -> 71 full (1 partial elim) (0 hash64 fail)
98 total files, 510 comparisons, branch L 159, R 254, both 413, max tree depth 8
travdone allocs: left 13, right 10 = heaviness -3
SMA: allocs 296, free 61 (merge 12, repl 19), fail 25, reuse 20, scan 2675, tails 0
I/O chunk size: 16 KiB (dynamically sized)
[+] testdir/numeric_sort_startwithzero/1file1
[-] testdir/numeric_sort_startwithzero/1file2
[+] testdir/numeric_sort_startwithzero/0file3
[-] testdir/numeric_sort_startwithzero/1file3
[+] testdir/numeric_sort_startwithzero/0file1
[-] testdir/numeric_sort_startwithzero/0file2
[+] testdir/numeric_sort_startwithzero/00file5a
[-] testdir/numeric_sort_startwithzero/00file5
[+] testdir/numeric_sort_startwithzero/00file4
[-] testdir/numeric_sort_startwithzero/01file4
[+] testdir/numeric_sort_digitsafter/file1a2
[-] testdir/numeric_sort_digitsafter/file001a
[-] testdir/numeric_sort_digitsafter/file001
[-] testdir/numeric_sort_digitsafter/file1
[-] testdir/numeric_sort_digitsafter/file002
[-] testdir/numeric_sort_digitsafter/file2
[-] testdir/numeric_sort_digitsafter/file3
[-] testdir/numeric_sort_digitsafter/file10a
[-] testdir/numeric_sort_digitsafter/file10
[-] testdir/numeric_sort_digitsafter/file020
[-] testdir/numeric_sort_digitsafter/file021
[-] testdir/numeric_sort_digitsafter/file030
[-] testdir/numeric_sort_digitsafter/file100
[+] testdir/numeric_sort_copysuffixes/file1-0.jpg
[-] testdir/numeric_sort_copysuffixes/file1-0 (1).jpg
[-] testdir/numeric_sort_copysuffixes/file1-0#1.jpg
[-] testdir/numeric_sort_copysuffixes/file1-1.jpg
[-] testdir/numeric_sort_copysuffixes/file1-1 (Copy).jpg
[-] testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2).jpg
[-] testdir/numeric_sort_copysuffixes/file1-1 (Copy) (2) (2).jpg
[-] testdir/numeric_sort_copysuffixes/file1-2.jpg
[-] testdir/numeric_sort_copysuffixes/file1-10.jpg
[+] testdir/extensions/fake_doc_001.doc
[-] testdir/extensions/fake_doc_002.doc
[-] testdir/extensions/fake_mp3_001.mp3
[-] testdir/extensions/fake_mp3_002.mp3
[-] testdir/extensions/fake_mp4_001.mp4
[-] testdir/extensions/fake_mp4_002.mp4
[+] testdir/atinydupe0
[-] testdir/Stilltinydupe1
[-] testdir/tinydupe2
[-] testdir/Tinydupe3
[-] testdir/tinydupe4
[+] testdir/with spaces a
[-] testdir/with spaces b
[+] testdir/notsotinydupe1
[-] testdir/notsotinydupe2
[+] testdir/larger_file_1
[-] testdir/larger_file_2
[+] testdir/unicode_filenames/cassé
[-] testdir/unicode_filenames/Ελληνιά
[-] testdir/unicode_filenames/до свидания
[-] testdir/unicode_filenames/दसविदानिया
[-] testdir/unicode_filenames/怖い
[-] testdir/unicode_filenames/행운을 빈다
[+] testdir/unicode_dirnames/Ελληνιά/Unicode testfile.txt
[-] testdir/unicode_dirnames/до свидания/Unicode testfile.txt
[-] testdir/unicode_dirnames/दसविदानिया/Unicode testfile.txt
[-] testdir/unicode_dirnames/怖い/Unicode testfile.txt
[-] testdir/unicode_dirnames/행운을 빈다/Unicode testfile.txt
[+] testdir/recursed_b/three
[-] testdir/recursed_b/two_plus_one
[+] testdir/recursed_a/one
[-] testdir/recursed_a/one_2
[-] testdir/recursed_b/one
[-] testdir/recursed_c/level2/one
[-] testdir/recursed_c/one
[+] testdir/recursed_a/five
[-] testdir/recursed_a/five_2
[-] testdir/recursed_c/five
[-] testdir/recursed_c/level2/five
[+] testdir/isolate/1/1.txt
[-] testdir/isolate/1/2.txt
[-] testdir/isolate/2/3.txt
[-] testdir/isolate/2/4.txt
[-] testdir/isolate/3/5.txt
[-] testdir/isolate/3/6.txt
[-] testdir/isolate/3/7.txt
[-] testdir/isolate/4/8.txt
[+] testdir/block_size_tests/4097b_file1
[-] testdir/block_size_tests/4097b_file2
[+] testdir/block_size_tests/4096b_file1
[-] testdir/block_size_tests/4096b_file2
[+] testdir/block_size_tests/4095b_file1
[-] testdir/block_size_tests/4095b_file2
[+] testdir/.hidden_dir/hiddendir_two
[-] testdir/.hidden_two
[-] testdir/recursed_a/two
[-] testdir/recursed_a/two_2
[-] testdir/recursed_c/level2/two
[-] testdir/recursed_c/two
[-] testdir/twice_one
[-] testdir/two
-----------
opt: loud debugging enabled, hope you can handle it (--loud)
opt: delete files after matching (--delete)
opt: intra-parameter match isolation enabled (--isolate)
opt: parameter order takes precedence (--param-order)
opt: delete files without prompting (--noprompt)
grokdir: scanning 'testdir/' (order 1, recurse 0)
getdirstats('testdir/', 0x7fff58a7d6d0, 0x7fff58a7d6d8)
traverse_check(dev 64256, ino 128915910307
travdone_alloc(dev 64256, ino 128915910307, hash 5872693914869300823)
travdone_alloc returned 0x7f98eb1d5080
grokdir: readdir: '.'
grokdir: readdir: '..'
grokdir: readdir: '.hidden_dir'
init_newfile(len 22, filelistp 0x55de9e14a360)
check_singlefile: checking 'testdir/.hidden_dir'
getfilestats('testdir/.hidden_dir')
check_singlefile: all checks passed
grokdir: directory: not recursing
grokdir: readdir: 'block_size_tests'
init_newfile(len 27, filelistp 0x55de9e14a360)
check_singlefile: checking 'testdir/block_size_tests'
getfilestats('testdir/block_size_tests')
check_singlefile: all checks passed
grokdir: directory: not recursing
grokdir: readdir: 'isolate'
init_newfile(len 18, filelistp 0x55de9e14a360)
check_singlefile: checking 'testdir/isolate'
getfilestats('testdir/isolate')
check_singlefile: all checks passed
grokdir: directory: not recursing
grokdir: readdir: 'recursed_a'
init_newfile(len 21, filelistp 0x55de9e14a360)
check_singlefile: checking 'testdir/recursed_a'
getfilestats('testdir/recursed_a')
check_singlefile: all checks passed
grokdir: directory: not recursing
grokdir: readdir: 'recursed_b'
init_newfile(len 21, filelistp 0x55de9e14a360)
check_singlefile: checking 'testdir/recursed_b'
getfilestats('testdir/recursed_b')
check_singlefile: all checks passed
grokdir: directory: not recursing
grokdir: readdir: 'recursed_c'
init_newfile(len 21, filelistp 0x55de9e14a360)
check_singlefile: checking 'testdir/recursed_c'
getfilestats('testdir/recursed_c')
check_singlefile: all checks passed
grokdir: directory: not recursing
grokdir: readdir: 'symlink_test'
init_newfile(len 23, filelistp 0x55de9e14a360)
check_singlefile: checking 'testdir/symlink_test'
getfilestats('testdir/symlink_test')
check_singlefile: all checks passed
grokdir: directory: not recursing
grokdir: readdir: 'unicode_dirnames'
init_newfile(len 27, filelistp 0x55de9e14a360)
check_singlefile: checking 'testdir/unicode_dirnames'
getfilestats('testdir/unicode_dirnames')
check_singlefile: all checks passed
grokdir: directory: not recursing
grokdir: readdir: 'unicode_filenames'
init_newfile(len 28, filelistp 0x55de9e14a360)
check_singlefile: checking 'testdir/unicode_filenames'
getfilestats('testdir/unicode_filenames')
check_singlefile: all checks passed
grokdir: directory: not recursing
grokdir: readdir: 'larger_file_1'
init_newfile(len 24, filelistp 0x55de9e14a360)
check_singlefile: checking 'testdir/larger_file_1'
getfilestats('testdir/larger_file_1')
check_singlefile: all checks passed
grokdir: readdir: 'larger_file_3'
init_newfile(len 24, filelistp 0x55de9e14a360)
check_singlefile: checking 'testdir/larger_file_3'
getfilestats('testdir/larger_file_3')
check_singlefile: all checks passed
grokdir: readdir: 'larger_file_4'
init_newfile(len 24, filelistp 0x55de9e14a360)
check_singlefile: checking 'testdir/larger_file_4'
getfilestats('testdir/larger_file_4')
check_singlefile: all checks passed
grokdir: readdir: 'nine_upsidedown'
init_newfile(len 26, filelistp 0x55de9e14a360)
check_singlefile: checking 'testdir/nine_upsidedown'
getfilestats('testdir/nine_upsidedown')
check_singlefile: all checks passed
grokdir: readdir: 'notsotinydupe1'
init_newfile(len 25, filelistp 0x55de9e14a360)
check_singlefile: checking 'testdir/notsotinydupe1'
getfilestats('testdir/notsotinydupe1')
check_singlefile: all checks passed
grokdir: readdir: 'with spaces a'
init_newfile(len 24, filelistp 0x55de9e14a360)
check_singlefile: checking 'testdir/with spaces a'
getfilestats('testdir/with spaces a')
check_singlefile: all checks passed
grokdir: readdir: 'zero_a'
init_newfile(len 17, filelistp 0x55de9e14a360)
check_singlefile: checking 'testdir/zero_a'
getfilestats('testdir/zero_a')
check_singlefile: excluding zero-length empty file (-z not set)
grokdir: check_singlefile rejected file
grokdir: readdir: 'zero_b'
init_newfile(len 17, filelistp 0x55de9e14a360)
check_singlefile: checking 'testdir/zero_b'
getfilestats('testdir/zero_b')
check_singlefile: excluding zero-length empty file (-z not set)
grokdir: check_singlefile rejected file
grokdir: readdir: 'Zero_C'
init_newfile(len 17, filelistp 0x55de9e14a360)
check_singlefile: checking 'testdir/Zero_C'
getfilestats('testdir/Zero_C')
check_singlefile: excluding zero-length empty file (-z not set)
grokdir: check_singlefile rejected file
grokdir: readdir: 'atinydupe0'
init_newfile(len 21, filelistp 0x55de9e14a360)
check_singlefile: checking 'testdir/atinydupe0'
getfilestats('testdir/atinydupe0')
check_singlefile: all checks passed
grokdir: readdir: 'extensions'
init_newfile(len 21, filelistp 0x55de9e14a360)
check_singlefile: checking 'testdir/extensions'
getfilestats('testdir/extensions')
check_singlefile: all checks passed
grokdir: directory: not recursing
grokdir: readdir: 'numeric_sort_copysuffixes'
init_newfile(len 36, filelistp 0x55de9e14a360)
check_singlefile: checking 'testdir/numeric_sort_copysuffixes'
getfilestats('testdir/numeric_sort_copysuffixes')
check_singlefile: all checks passed
grokdir: directory: not recursing
grokdir: readdir: 'numeric_sort_digitsafter'
init_newfile(len 35, filelistp 0x55de9e14a360)
check_singlefile: checking 'testdir/numeric_sort_digitsafter'
getfilestats('testdir/numeric_sort_digitsafter')
check_singlefile: all checks passed
grokdir: directory: not recursing
grokdir: readdir: 'numeric_sort_startwithzero'
init_newfile(len 37, filelistp 0x55de9e14a360)
check_singlefile: checking 'testdir/numeric_sort_startwithzero'
getfilestats('testdir/numeric_sort_startwithzero')
check_singlefile: all checks passed
grokdir: directory: not recursing
grokdir: readdir: 'symlink_dir'
init_newfile(len 22, filelistp 0x55de9e14a360)
check_singlefile: checking 'testdir/symlink_dir'
getfilestats('testdir/symlink_dir')
check_singlefile: all checks passed
grokdir: directory: not recursing
grokdir: readdir: 'symlink_twice_one'
init_newfile(len 28, filelistp 0x55de9e14a360)
check_singlefile: checking 'testdir/symlink_twice_one'
getfilestats('testdir/symlink_twice_one')
check_singlefile: all checks passed
grokdir: not a regular file: testdir/symlink_twice_one
grokdir: readdir: 'symlink_two'
init_newfile(len 22, filelistp 0x55de9e14a360)
check_singlefile: checking 'testdir/symlink_two'
getfilestats('testdir/symlink_two')
check_singlefile: all checks passed
grokdir: not a regular file: testdir/symlink_two
grokdir: readdir: '.hidden_two'
init_newfile(len 22, filelistp 0x55de9e14a360)
check_singlefile: checking 'testdir/.hidden_two'
getfilestats('testdir/.hidden_two')
check_singlefile: all checks passed
grokdir: readdir: 'larger_file_2'
init_newfile(len 24, filelistp 0x55de9e14a360)
check_singlefile: checking 'testdir/larger_file_2'
getfilestats('testdir/larger_file_2')
check_singlefile: all checks passed
grokdir: readdir: 'notsotinydupe2'
init_newfile(len 25, filelistp 0x55de9e14a360)
check_singlefile: checking 'testdir/notsotinydupe2'
getfilestats('testdir/notsotinydupe2')
check_singlefile: all checks passed
grokdir: readdir: 'tinydupe2'
init_newfile(len 20, filelistp 0x55de9e14a360)
check_singlefile: checking 'testdir/tinydupe2'
getfilestats('testdir/tinydupe2')
check_singlefile: all checks passed
grokdir: readdir: 'twice_one'
init_newfile(len 20, filelistp 0x55de9e14a360)
check_singlefile: checking 'testdir/twice_one'
getfilestats('testdir/twice_one')
check_singlefile: all checks passed
grokdir: readdir: 'two'
init_newfile(len 14, filelistp 0x55de9e14a360)
check_singlefile: checking 'testdir/two'
getfilestats('testdir/two')
check_singlefile: all checks passed
grokdir: readdir: 'with spaces b'
init_newfile(len 24, filelistp 0x55de9e14a360)
check_singlefile: checking 'testdir/with spaces b'
getfilestats('testdir/with spaces b')
check_singlefile: all checks passed
grokdir: readdir: 'Stilltinydupe1'
init_newfile(len 25, filelistp 0x55de9e14a360)
check_singlefile: checking 'testdir/Stilltinydupe1'
getfilestats('testdir/Stilltinydupe1')
check_singlefile: all checks passed
grokdir: readdir: 'Tinydupe3'
init_newfile(len 20, filelistp 0x55de9e14a360)
check_singlefile: checking 'testdir/Tinydupe3'
getfilestats('testdir/Tinydupe3')
check_singlefile: all checks passed
grokdir: readdir: 'tinydupe4'
init_newfile(len 20, filelistp 0x55de9e14a360)
check_singlefile: checking 'testdir/tinydupe4'
getfilestats('testdir/tinydupe4')
check_singlefile: all checks passed
travdone_free(0x7f98eb1d5080)
MAIN: current file: testdir/tinydupe4
registerfile(direction 0)
MAIN: current file: testdir/Tinydupe3
checkmatch ('testdir/tinydupe4', 'testdir/Tinydupe3')
check_conditions('testdir/tinydupe4', 'testdir/Tinydupe3')
check_conditions: files ignored: parameter isolation
checkmatch: starting file data comparisons
get_filehash('testdir/tinydupe4', 4096)
get_filehash: returning hash: 0xcafc7706cee4572b
get_filehash('testdir/Tinydupe3', 4096)
get_filehash: returning hash: 0xcafc7706cee4572b
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: rejecting because match not allowed (cantmatch = 1)
checkmatch: registering file: left
registerfile(direction 1)
MAIN: current file: testdir/Stilltinydupe1
checkmatch ('testdir/tinydupe4', 'testdir/Stilltinydupe1')
check_conditions('testdir/tinydupe4', 'testdir/Stilltinydupe1')
check_conditions: files ignored: parameter isolation
checkmatch: starting file data comparisons
get_filehash('testdir/Stilltinydupe1', 4096)
get_filehash: returning hash: 0xcafc7706cee4572b
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: rejecting because match not allowed (cantmatch = 1)
checkmatch: recursing tree: left
checkmatch ('testdir/Tinydupe3', 'testdir/Stilltinydupe1')
check_conditions('testdir/Tinydupe3', 'testdir/Stilltinydupe1')
check_conditions: files ignored: parameter isolation
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: rejecting because match not allowed (cantmatch = 1)
checkmatch: registering file: left
registerfile(direction 1)
MAIN: current file: testdir/with spaces b
checkmatch ('testdir/tinydupe4', 'testdir/with spaces b')
check_conditions('testdir/tinydupe4', 'testdir/with spaces b')
check_conditions: no match: size of file1 < file2 (1 < 12)
checkmatch: registering file: right
registerfile(direction 2)
MAIN: current file: testdir/two
checkmatch ('testdir/tinydupe4', 'testdir/two')
check_conditions('testdir/tinydupe4', 'testdir/two')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/two')
check_conditions('testdir/with spaces b', 'testdir/two')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: registering file: left
registerfile(direction 1)
MAIN: current file: testdir/twice_one
checkmatch ('testdir/tinydupe4', 'testdir/twice_one')
check_conditions('testdir/tinydupe4', 'testdir/twice_one')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/twice_one')
check_conditions('testdir/with spaces b', 'testdir/twice_one')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/two', 'testdir/twice_one')
check_conditions('testdir/two', 'testdir/twice_one')
check_conditions: files ignored: parameter isolation
checkmatch: starting file data comparisons
get_filehash('testdir/two', 4096)
get_filehash: returning hash: 0x6e15961ef9042d0f
get_filehash('testdir/twice_one', 4096)
get_filehash: returning hash: 0x6e15961ef9042d0f
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: rejecting because match not allowed (cantmatch = 1)
checkmatch: registering file: left
registerfile(direction 1)
MAIN: current file: testdir/tinydupe2
checkmatch ('testdir/tinydupe4', 'testdir/tinydupe2')
check_conditions('testdir/tinydupe4', 'testdir/tinydupe2')
check_conditions: files ignored: parameter isolation
checkmatch: starting file data comparisons
get_filehash('testdir/tinydupe2', 4096)
get_filehash: returning hash: 0xcafc7706cee4572b
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: rejecting because match not allowed (cantmatch = 1)
checkmatch: recursing tree: left
checkmatch ('testdir/Tinydupe3', 'testdir/tinydupe2')
check_conditions('testdir/Tinydupe3', 'testdir/tinydupe2')
check_conditions: files ignored: parameter isolation
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: rejecting because match not allowed (cantmatch = 1)
checkmatch: recursing tree: left
checkmatch ('testdir/Stilltinydupe1', 'testdir/tinydupe2')
check_conditions('testdir/Stilltinydupe1', 'testdir/tinydupe2')
check_conditions: files ignored: parameter isolation
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: rejecting because match not allowed (cantmatch = 1)
checkmatch: registering file: left
registerfile(direction 1)
MAIN: current file: testdir/notsotinydupe2
checkmatch ('testdir/tinydupe4', 'testdir/notsotinydupe2')
check_conditions('testdir/tinydupe4', 'testdir/notsotinydupe2')
check_conditions: no match: size of file1 < file2 (1 < 66)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/notsotinydupe2')
check_conditions('testdir/with spaces b', 'testdir/notsotinydupe2')
check_conditions: no match: size of file1 < file2 (12 < 66)
checkmatch: registering file: right
registerfile(direction 2)
MAIN: current file: testdir/larger_file_2
checkmatch ('testdir/tinydupe4', 'testdir/larger_file_2')
check_conditions('testdir/tinydupe4', 'testdir/larger_file_2')
check_conditions: no match: size of file1 < file2 (1 < 66800)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/larger_file_2')
check_conditions('testdir/with spaces b', 'testdir/larger_file_2')
check_conditions: no match: size of file1 < file2 (12 < 66800)
checkmatch: recursing tree: right
checkmatch ('testdir/notsotinydupe2', 'testdir/larger_file_2')
check_conditions('testdir/notsotinydupe2', 'testdir/larger_file_2')
check_conditions: no match: size of file1 < file2 (66 < 66800)
checkmatch: registering file: right
registerfile(direction 2)
MAIN: current file: testdir/.hidden_two
checkmatch ('testdir/tinydupe4', 'testdir/.hidden_two')
check_conditions('testdir/tinydupe4', 'testdir/.hidden_two')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/.hidden_two')
check_conditions('testdir/with spaces b', 'testdir/.hidden_two')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/two', 'testdir/.hidden_two')
check_conditions('testdir/two', 'testdir/.hidden_two')
check_conditions: files ignored: parameter isolation
checkmatch: starting file data comparisons
get_filehash('testdir/.hidden_two', 4096)
get_filehash: returning hash: 0x6e15961ef9042d0f
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: rejecting because match not allowed (cantmatch = 1)
checkmatch: recursing tree: left
checkmatch ('testdir/twice_one', 'testdir/.hidden_two')
check_conditions('testdir/twice_one', 'testdir/.hidden_two')
check_conditions: files ignored: parameter isolation
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: rejecting because match not allowed (cantmatch = 1)
checkmatch: registering file: left
registerfile(direction 1)
MAIN: current file: testdir/atinydupe0
checkmatch ('testdir/tinydupe4', 'testdir/atinydupe0')
check_conditions('testdir/tinydupe4', 'testdir/atinydupe0')
check_conditions: files ignored: parameter isolation
checkmatch: starting file data comparisons
get_filehash('testdir/atinydupe0', 4096)
get_filehash: returning hash: 0xcafc7706cee4572b
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: rejecting because match not allowed (cantmatch = 1)
checkmatch: recursing tree: left
checkmatch ('testdir/Tinydupe3', 'testdir/atinydupe0')
check_conditions('testdir/Tinydupe3', 'testdir/atinydupe0')
check_conditions: files ignored: parameter isolation
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: rejecting because match not allowed (cantmatch = 1)
checkmatch: recursing tree: left
checkmatch ('testdir/Stilltinydupe1', 'testdir/atinydupe0')
check_conditions('testdir/Stilltinydupe1', 'testdir/atinydupe0')
check_conditions: files ignored: parameter isolation
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: rejecting because match not allowed (cantmatch = 1)
checkmatch: recursing tree: left
checkmatch ('testdir/tinydupe2', 'testdir/atinydupe0')
check_conditions('testdir/tinydupe2', 'testdir/atinydupe0')
check_conditions: files ignored: parameter isolation
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: rejecting because match not allowed (cantmatch = 1)
checkmatch: registering file: left
registerfile(direction 1)
MAIN: current file: testdir/with spaces a
checkmatch ('testdir/tinydupe4', 'testdir/with spaces a')
check_conditions('testdir/tinydupe4', 'testdir/with spaces a')
check_conditions: no match: size of file1 < file2 (1 < 12)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/with spaces a')
check_conditions('testdir/with spaces b', 'testdir/with spaces a')
check_conditions: files ignored: parameter isolation
checkmatch: starting file data comparisons
get_filehash('testdir/with spaces b', 4096)
get_filehash: returning hash: 0x13af9d55cf3eb315
get_filehash('testdir/with spaces a', 4096)
get_filehash: returning hash: 0x13af9d55cf3eb315
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: rejecting because match not allowed (cantmatch = 1)
checkmatch: recursing tree: left
checkmatch ('testdir/two', 'testdir/with spaces a')
check_conditions('testdir/two', 'testdir/with spaces a')
check_conditions: no match: size of file1 < file2 (4 < 12)
checkmatch: registering file: right
registerfile(direction 2)
MAIN: current file: testdir/notsotinydupe1
checkmatch ('testdir/tinydupe4', 'testdir/notsotinydupe1')
check_conditions('testdir/tinydupe4', 'testdir/notsotinydupe1')
check_conditions: no match: size of file1 < file2 (1 < 66)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/notsotinydupe1')
check_conditions('testdir/with spaces b', 'testdir/notsotinydupe1')
check_conditions: no match: size of file1 < file2 (12 < 66)
checkmatch: recursing tree: right
checkmatch ('testdir/notsotinydupe2', 'testdir/notsotinydupe1')
check_conditions('testdir/notsotinydupe2', 'testdir/notsotinydupe1')
check_conditions: files ignored: parameter isolation
checkmatch: starting file data comparisons
get_filehash('testdir/notsotinydupe2', 4096)
get_filehash: returning hash: 0xebd643261a119b33
get_filehash('testdir/notsotinydupe1', 4096)
get_filehash: returning hash: 0xebd643261a119b33
checkmatch: partial hashes match
checkmatch: small file: copying partial hash to full hash
checkmatch: rejecting because match not allowed (cantmatch = 1)
checkmatch: registering file: left
registerfile(direction 1)
MAIN: current file: testdir/nine_upsidedown
checkmatch ('testdir/tinydupe4', 'testdir/nine_upsidedown')
check_conditions('testdir/tinydupe4', 'testdir/nine_upsidedown')
check_conditions: no match: size of file1 < file2 (1 < 4)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/nine_upsidedown')
check_conditions('testdir/with spaces b', 'testdir/nine_upsidedown')
check_conditions: no match: size of file1 > file2 (12 > 4)
checkmatch: recursing tree: left
checkmatch ('testdir/two', 'testdir/nine_upsidedown')
check_conditions('testdir/two', 'testdir/nine_upsidedown')
check_conditions: files ignored: parameter isolation
checkmatch: starting file data comparisons
get_filehash('testdir/nine_upsidedown', 4096)
get_filehash: returning hash: 0x1c898c83b51c13f9
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: left
checkmatch ('testdir/twice_one', 'testdir/nine_upsidedown')
check_conditions('testdir/twice_one', 'testdir/nine_upsidedown')
check_conditions: files ignored: parameter isolation
checkmatch: starting file data comparisons
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: recursing tree: left
checkmatch ('testdir/.hidden_two', 'testdir/nine_upsidedown')
check_conditions('testdir/.hidden_two', 'testdir/nine_upsidedown')
check_conditions: files ignored: parameter isolation
checkmatch: starting file data comparisons
checkmatch: partial hashes do not match
checkmatch: small file: copying partial hash to full hash
checkmatch: registering file: left
registerfile(direction 1)
MAIN: current file: testdir/larger_file_4
checkmatch ('testdir/tinydupe4', 'testdir/larger_file_4')
check_conditions('testdir/tinydupe4', 'testdir/larger_file_4')
check_conditions: no match: size of file1 < file2 (1 < 66800)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/larger_file_4')
check_conditions('testdir/with spaces b', 'testdir/larger_file_4')
check_conditions: no match: size of file1 < file2 (12 < 66800)
checkmatch: recursing tree: right
checkmatch ('testdir/notsotinydupe2', 'testdir/larger_file_4')
check_conditions('testdir/notsotinydupe2', 'testdir/larger_file_4')
check_conditions: no match: size of file1 < file2 (66 < 66800)
checkmatch: recursing tree: right
checkmatch ('testdir/larger_file_2', 'testdir/larger_file_4')
check_conditions('testdir/larger_file_2', 'testdir/larger_file_4')
check_conditions: files ignored: parameter isolation
checkmatch: starting file data comparisons
get_filehash('testdir/larger_file_2', 4096)
get_filehash: returning hash: 0x238078c918e750ac
get_filehash('testdir/larger_file_4', 4096)
get_filehash: returning hash: 0x238078c918e750ac
checkmatch: partial hashes match
get_filehash('testdir/larger_file_2', 0)
get_filehash: returning hash: 0xeafc8ea5d60710e9
get_filehash('testdir/larger_file_4', 0)
get_filehash: returning hash: 0x4aa80fa6b27f3db1
checkmatch: full hashes do not match
checkmatch: registering file: left
registerfile(direction 1)
MAIN: current file: testdir/larger_file_3
checkmatch ('testdir/tinydupe4', 'testdir/larger_file_3')
check_conditions('testdir/tinydupe4', 'testdir/larger_file_3')
check_conditions: no match: size of file1 < file2 (1 < 66800)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/larger_file_3')
check_conditions('testdir/with spaces b', 'testdir/larger_file_3')
check_conditions: no match: size of file1 < file2 (12 < 66800)
checkmatch: recursing tree: right
checkmatch ('testdir/notsotinydupe2', 'testdir/larger_file_3')
check_conditions('testdir/notsotinydupe2', 'testdir/larger_file_3')
check_conditions: no match: size of file1 < file2 (66 < 66800)
checkmatch: recursing tree: right
checkmatch ('testdir/larger_file_2', 'testdir/larger_file_3')
check_conditions('testdir/larger_file_2', 'testdir/larger_file_3')
check_conditions: files ignored: parameter isolation
checkmatch: starting file data comparisons
get_filehash('testdir/larger_file_3', 4096)
get_filehash: returning hash: 0x3d43fabd3277d693
checkmatch: partial hashes do not match
checkmatch: registering file: right
registerfile(direction 2)
MAIN: current file: testdir/larger_file_1
checkmatch ('testdir/tinydupe4', 'testdir/larger_file_1')
check_conditions('testdir/tinydupe4', 'testdir/larger_file_1')
check_conditions: no match: size of file1 < file2 (1 < 66800)
checkmatch: recursing tree: right
checkmatch ('testdir/with spaces b', 'testdir/larger_file_1')
check_conditions('testdir/with spaces b', 'testdir/larger_file_1')
check_conditions: no match: size of file1 < file2 (12 < 66800)
checkmatch: recursing tree: right
checkmatch ('testdir/notsotinydupe2', 'testdir/larger_file_1')
check_conditions('testdir/notsotinydupe2', 'testdir/larger_file_1')
check_conditions: no match: size of file1 < file2 (66 < 66800)
checkmatch: recursing tree: right
checkmatch ('testdir/larger_file_2', 'testdir/larger_file_1')
check_conditions('testdir/larger_file_2', 'testdir/larger_file_1')
check_conditions: files ignored: parameter isolation
checkmatch: starting file data comparisons
get_filehash('testdir/larger_file_1', 4096)
get_filehash: returning hash: 0x238078c918e750ac
checkmatch: partial hashes match
get_filehash('testdir/larger_file_1', 0)
get_filehash: returning hash: 0xeafc8ea5d60710e9
checkmatch: full hashes match
checkmatch: rejecting because match not allowed (cantmatch = 1)
checkmatch: recursing tree: left
checkmatch ('testdir/larger_file_4', 'testdir/larger_file_1')
check_conditions('testdir/larger_file_4', 'testdir/larger_file_1')
check_conditions: files ignored: parameter isolation
checkmatch: starting file data comparisons
checkmatch: partial hashes match
checkmatch: full hashes do not match
checkmatch: registering file: right
registerfile(direction 2)
deletefiles: 0x7f98eb1d60d8, 0, (nil)
get_max_dupes(0x7f98eb1d60d8, 0x7fff58a7d6e4, (nil))
22 partial (+13 small) -> 3 full hash -> 0 full (1 partial elim) (0 hash64 fail)
17 total files, 49 comparisons, branch L 14, R 19, both 33, max tree depth 4
travdone allocs: left 0, right 0 = heaviness 0
SMA: allocs 86, free 39 (merge 11, repl 9), fail 0, reuse 9, scan 787, tails 0
I/O chunk size: 16 KiB (dynamically sized)
user@host:/usr/src/ts-1.0.2 $ cp -a /home/daivox/projects/github/jdupes/testdir/ .
user@host:/usr/src/ts-1.0.2 $ ./jdupes -dION testdir/
Scanning: 17 files, 1 items (in 1 specified)
user@host:/usr/src/ts-1.0.2 $