Dan Church
a8db0b17fe
CI: Close file handles ASAP
2023-07-20 15:11:25 -05:00
Dan Church
e0c91b4647
Fix overly-complex 'map' (PBP)
2023-07-20 15:00:46 -05:00
Dan Church
7d389377a1
CI: Fix unlabelled test
2023-07-20 14:30:23 -05:00
Dan Church
3e96b9bc19
Use croak/carp instead of die/warn (PBP)
2023-07-20 14:30:05 -05:00
Dan Church
4e2e94881b
Use non-interpolating strings where possible
2023-07-20 14:27:34 -05:00
Dan Church
2987e063bd
Fix '!' inside 'unless' (PBP)
2023-07-20 14:26:37 -05:00
Dan Church
d6be215a06
Fix join()ed readline (PBP)
...
Use $/ to slurp the whole handle instead of splitting and joining.
2023-07-20 14:00:46 -05:00
Dan Church
9115c6bdca
CI: Fix TestFunctions
...
- Use 'use parent' instead of '@ISA'
- Add Perl::Critic leniency
2023-07-20 13:56:52 -05:00
Dan Church
971b76ab37
CI: Move to plan-less tests
2023-07-20 13:44:37 -05:00
Dan Church
f3db5cf5ee
CI: Start all tests with bangline
...
Perl::Critic will think they're modules otherwise.
2023-07-20 13:44:02 -05:00
Dan Church
62f2503cb0
Remove vim modelines
...
That's what .editorconfig is for.
2023-07-20 13:39:42 -05:00
Dan Church
98c2c04263
Remove postfix if/for (PBP)
2023-07-20 13:05:12 -05:00
Dan Church
15c466e581
Refactor FileHash to expect named arguments
2023-07-20 13:04:52 -05:00
Dan Church
31fe372e09
Fix implicit return (PBP)
2023-07-20 12:37:27 -05:00
Dan Church
7dbbb5422a
Unpack @_ first (PBP)
2023-07-20 12:37:07 -05:00
Dan Church
907a7113a8
Remove Perl 4 sigils (PBP)
2023-07-20 12:41:07 -05:00
Dan Church
02f97c2a90
Refactor 'more_linked'
...
- Make method static.
- Don't call dirname() in sort block. Relegate this to *::File.
This carries with it a slight performance boost; calculate dirname of
file only once upon instantiation, instead of (N log N) * 2 times.
- Move determination of read-only entries higher.
This carries with it a slight performance boost as well, no longer
redundantly testing directory write-ability N log N times (reduced to
N times), and no longer requires memory to keep track of warnings
issued.
2023-07-20 15:09:58 -05:00
Dan Church
5c6f506ed9
Refactor 'oldest_mtime' to be static
2023-07-20 12:48:07 -05:00
Dan Church
e5c25ef772
Replace unnecessary 'use' with 'require'
2023-07-20 12:44:31 -05:00
Dan Church
a26764fd2f
Fix squasher stripping repeated newlines in ignored sections
2023-06-29 13:28:03 -05:00
Dan Church
4d4edd5e9d
Move library code to lib/
...
Fixes accidental inclusion of test instrumentation into the all-in-one
script.
2023-06-29 13:01:29 -05:00
Dan Church
9dc3e4578c
Re-write squasher
...
Add ability to skip over sections (ignore) vs. completely remove them
(remove).
2023-06-29 12:57:15 -05:00
Dan Church
1582920286
CI: Don't use FindBin to set test library path
2023-06-23 13:39:13 -05:00
Dan Church
22a7b86113
CI: Replace shell script tests with TAP harness
...
During all this I uncovered a bug in how Archive::Tar handles sparse
files stored in tarballs; the library reports the file as having no
contents and a size of 0. As a result, in the freed-bytes-commas test,
the tarball extraction has been replaced by on-the-fly file creation.
2023-01-29 15:39:25 -06:00
Dan Church
5da826e664
CI: Add gitlab-ci.yml
2022-11-16 13:38:30 -06:00
Dan Church
99207ed0fc
Add editorconfig
2022-11-16 13:00:51 -06:00
Dan Church
46be55d5ff
Add README
2022-11-16 12:48:06 -06:00
Dan Church
b1b4e18e05
Break out packages into separate files
2022-11-16 11:33:08 -06:00
Dan Church
f04cbac723
Add LICENSE
2022-11-16 11:16:31 -06:00
Dan Church
93f0245d6b
+1 test
2022-09-13 11:50:51 -05:00
Dan Church
8059dc4455
Add thousands separator commas to output
2022-09-13 11:50:10 -05:00
Dan Church
93561ca90a
Use POD to generate help messages
...
Also, exit instead of continuing when an unrecognized option flag is
seen.
2022-08-28 14:22:18 -05:00
Dan Church
87ea1d8351
Update license block
2022-07-18 17:20:50 -05:00
Dan Church
c750b11c7e
Update test
...
Make sure to print when a control character is present. If it doesn't,
it leads to confusion when bash reports two apparently-equal strings
don't actually match due to the presence of a non-printing character.
2020-12-14 10:19:28 -06:00
Dan Church
5454fe681f
Update options processing
...
- Make it more obvious in the code what the options do.
- Omit output of progress bar unless -v flag is present.
2020-12-14 10:10:39 -06:00
Dan Church
89b64b1ca1
Exit early if no linkable files are found
...
Fixes a warning.
2020-11-24 11:09:26 -06:00
Dan Church
047df6c97b
Limit "Skipped" output to only summary
2020-11-18 14:07:16 -06:00
Dan Church
967be362dc
Pre-filter based on file size
...
Only generate hashes for files that have a size duplicate.
2020-11-17 13:30:35 -06:00
Dan Church
58740f34c5
Add progress bar
2020-11-09 16:35:20 -06:00
Dan Church
c77fc7a205
Update script
...
Follows a more logical process of deciding what to do, then doing it.
2018-01-21 15:48:49 -06:00
Dan Church
7d19ccd876
Add test
2018-01-21 15:01:40 -06:00
Dan Church
79e3eca2cb
Re-write script
...
Breaking changes:
* Remove support for symlink generation.
Bugs fixed:
* SHA-1 hash collisions no longer corrupt yer data.
Internal changes:
* Rework into a helper package
2018-01-21 14:57:44 -06:00
Dan Church
c6beadda5f
Break out changelog into separate file
2018-01-21 12:30:41 -06:00
Dan Church
a10996e70f
Clean up script
2018-01-21 12:30:35 -06:00
Dan Church
801bed9fa9
Initial commit
2015-04-02 10:28:22 -05:00