131 Commits

Author SHA1 Message Date
Marcus Holland-Moritz
3a49825eca fix(rewrite_filesystem): add history unless --no-history is given 2025-05-14 06:50:13 +02:00
Marcus Holland-Moritz
f01cf2c76a fix(filesystem_writer): segfault on bad_compression_ratio_error
When recompressing a filesystem where some blocks cannot be compressed
using the selected algorithm because of a `bad_compression_ratio_error`,
the resulting `block` was left empty after the refactoring done in
06f8728cc. It's a really easy fix, pretty much just doing what the code
did before the refactor: initialize `block` with the decompressed data
before attempting to compress it. Since `clang-format` reformatted the
whole lambda after the change, I've pulled the lamdba body out into a
separate function, which makes this change much bigger than it is.
2025-05-14 06:47:32 +02:00
Marcus Holland-Moritz
7b0b1cdc0c refactor: introduce and use safe_localtime() 2025-05-14 06:47:32 +02:00
Marcus Holland-Moritz
24f87bbeaa chore: drop DWARFSEXTRACT_MINIMAL completely
Extracting by pattern is a mandatory feature for the `fuse-extract` use
case, so no point in being able to disable this.
2025-04-21 17:53:56 +02:00
Marcus Holland-Moritz
e6ae08475a feat: allow disabling advanced features in dwarfs-fuse-extract 2025-04-13 22:14:57 +02:00
Marcus Holland-Moritz
1675b90d71 test: rename filter_test to tool_filter_test for uniqueness
This is essential when building a monolithic test as it would otherwise
collide with the `filter_test` from `dwarfs_test.cpp`.
2025-04-13 16:29:09 +02:00
Marcus Holland-Moritz
d8a8d3250c test: test fragment order 2025-04-08 13:12:25 +02:00
Marcus Holland-Moritz
6d0e37abab test: hotness categorizer 2025-04-08 12:38:09 +02:00
Marcus Holland-Moritz
440299eb26 fix(tool_main_test): don't rely on having support for LZ4 compression 2025-04-07 21:32:26 +02:00
Marcus Holland-Moritz
d786083d3d chore: move everything but the writer code from GPLv3 to MIT license 2025-04-07 21:32:26 +02:00
Marcus Holland-Moritz
0f0249b1ee fix(scanner): handle absolute paths in --input-list (fixes gh #259) 2025-03-31 14:10:38 +02:00
Marcus Holland-Moritz
45098e7913 chore: reformat code using new .clang-format 2025-03-17 07:15:55 +01:00
Marcus Holland-Moritz
2ff7602192 feat: support extracting only files matching glob patterns (fixes gh #243) 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
c427808bb1 feat: use glob-to-regex to simplify and enhance rule_based_entry_filter 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
56bd23adf4 test: avoid shadowing class member 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
e75fa244d8 test: test dwarfsextract more thoroughly 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
1f2f6b08b9 test: add dwarfsextract archive_error test 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
90852d622b test: more inode_info tests 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
49adb18131 refactor(filesystem_v2): char const* -> string_view 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
05f788f6f0 feat(filesystem_v2): return dir_entry_view from find() 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
436949a98d feat(filesystem_v2): return dir_entry_view from readdir() 2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
302af7497e feat(metadata): add directory_iterator 2025-03-14 13:39:25 +01:00
Marcus Holland-Moritz
101fbd6313 test: enforce metadata consistency checks by default 2024-11-21 17:24:06 +01:00
Marcus Holland-Moritz
969d527391 chore: remove unused stream members in test_terminal 2024-08-15 16:42:17 +02:00
Marcus Holland-Moritz
e4dfd24e8d refactor: factor out reader options 2024-08-14 14:45:17 +02:00
Marcus Holland-Moritz
c2513f4e81 test: add env variable to allow skipping slow tests in CI 2024-08-13 11:53:01 +02:00
Marcus Holland-Moritz
9c34a30230 test: remove folly dependency from tool_main_test 2024-08-12 17:32:04 +02:00
Marcus Holland-Moritz
68c2538d7b build: switch from using compile_definitions to config.h 2024-08-12 17:32:04 +02:00
Marcus Holland-Moritz
e81c2de507 refactor: move writer library to writer namespace 2024-08-09 23:27:20 +02:00
Marcus Holland-Moritz
65f1d28f2b refactor: move all reader library code to reader namespace 2024-08-09 23:27:20 +02:00
Marcus Holland-Moritz
6fd2990928 refactor: move reader library code 2024-08-09 23:27:20 +02:00
Marcus Holland-Moritz
b924be0610 test: more filesystem writer error test cases 2024-08-09 23:27:20 +02:00
Marcus Holland-Moritz
099a7b3727 refactor: introduce main_adapter and remove main overloads 2024-08-02 17:44:55 +02:00
Marcus Holland-Moritz
db75114105 refactor: move more code to tool namespace 2024-08-02 16:22:41 +02:00
Marcus Holland-Moritz
248a16c7bb refactor: remove deprecated dump / info_as_json methods 2024-08-01 10:17:23 +02:00
Marcus Holland-Moritz
964a4f49e6 refactor(file_stat): turn into proper object with hidden data 2024-07-31 22:36:13 +02:00
Marcus Holland-Moritz
eb8b751146 feat(filesystem_v2): more flexible read API 2024-07-29 23:51:37 +02:00
Marcus Holland-Moritz
ce16e74646 refactor: add error_code/throwing versions of open 2024-07-28 19:50:13 +02:00
Marcus Holland-Moritz
3ae80f564e refactor: cleanup read/readv APIs 2024-07-28 18:58:08 +02:00
Marcus Holland-Moritz
62899bbd73 refactor: remove access version returning int 2024-07-28 18:58:08 +02:00
Marcus Holland-Moritz
6a2cc3f860 refactor: remove getattr version returning int 2024-07-28 18:58:08 +02:00
Marcus Holland-Moritz
404d89908c refactor(history): don't require thrift definitions in public API 2024-07-28 15:19:38 +02:00
Marcus Holland-Moritz
9d04a07210 refactor: replace folly::enumerate with ranges::views::enumerate 2024-07-28 12:30:39 +02:00
Marcus Holland-Moritz
2ca18e776b refactor: drop Expected readv API for now 2024-07-26 23:31:51 +02:00
Marcus Holland-Moritz
ac56927aef refactor: drop Expected readlink API for now 2024-07-26 23:31:51 +02:00
Marcus Holland-Moritz
522efd04f7 refactor: switch to using system includes for dwarfs headers 2024-05-22 14:56:08 +02:00
Marcus Holland-Moritz
96a0afed95 refactor: folly::dynamic -> nlohmann::json, part 1 2024-05-14 17:59:33 +02:00
Marcus Holland-Moritz
21901d7c2d test: don't rely on FLAC compression being available 2024-05-07 08:38:59 +02:00
Marcus Holland-Moritz
125121b7ca fix(mkdwarfs): filter rules did not work correctly when input is root dir 2024-05-07 08:38:59 +02:00
Marcus Holland-Moritz
ff0aa79254 test: fix perfmon check 2024-04-29 22:55:07 +02:00