jdupes icon indicating copy to clipboard operation
jdupes copied to clipboard

jdupes doesn't work properly when detached from a terminal

Open straxhaber opened this issue 3 years ago • 2 comments

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.

straxhaber avatar Dec 26 '21 04:12 straxhaber

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.

jbruchon avatar Dec 26 '21 05:12 jbruchon

FYI: The broken isolation feature has been removed in v1.21.0 released today.

jbruchon avatar Sep 03 '22 18:09 jbruchon

If this is still an issue, please let me know. I'll be closing it as invalid in the next couple of days otherwise.

jbruchon avatar Dec 05 '22 00:12 jbruchon

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?

straxhaber avatar Feb 07 '23 17:02 straxhaber

What is ts?

jbruchon avatar Feb 07 '23 17:02 jbruchon

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).

straxhaber avatar Feb 07 '23 18:02 straxhaber

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 $

jbruchon avatar Feb 07 '23 19:02 jbruchon