102 Commits

Author SHA1 Message Date
Marcus Holland-Moritz
2c91e80119 feat(mkdwarfs): support for rewriting file systems with categories
At the same time, this finally adds multi-threaded decompression
when rewriting a file system.
2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
f6c3b5d43d chore: mark static rewrite method as deprecated 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
63533a0a5b feat(mkdwarfs): add --history-compression option 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
c2840cbe79 feat(filesystem): initial support for file system history 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
1b0d34accc feat(logging): enable logging context at verbose level 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
071da719cb feat(filesystem_writer): use fsblock policy for block merger 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
d938191248 feat: integrate block merger for deterministic file system writing 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
a37c2716c8 feat: make number of segmenter worker threads configurable 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
1ab991f8aa Fix & refine hashing/scanning/categorizing progress 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
053bb82726 Update command line help 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
a9636a3f0b Improve segmenter logging 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
5a9c7f823e Add verbose logging level 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
03da4120e5 Allow larger bloom filters 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
24829e2efe Allow disabling of the segmenter 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
db4499847e Set default compression correctly 2023-12-17 23:01:36 +01:00
Marcus Holland-Moritz
8206e585d6 Set defaults for categorized options correctly 2023-12-17 23:01:36 +01:00
Marcus Holland-Moritz
51e0bb72a7 update per-category command line options 2023-12-17 23:00:57 +01:00
Marcus Holland-Moritz
aacb9a0d94 add segmenter_factory 2023-12-17 23:00:41 +01:00
Marcus Holland-Moritz
8fa157bf92 add block_manager 2023-12-17 23:00:07 +01:00
Marcus Holland-Moritz
7e95647cfe Always set default order (can be overwritten by user) 2023-12-17 23:00:07 +01:00
Marcus Holland-Moritz
c42d168726 nilsimsa2 -> nilsimsa 2023-12-17 23:00:07 +01:00
Marcus Holland-Moritz
2546cc94f4 Nuke nilsimsa v1 2023-12-17 23:00:07 +01:00
Marcus Holland-Moritz
35af027b27 block_manager -> segmenter 2023-12-17 21:59:11 +01:00
Marcus Holland-Moritz
8b05c2b338 Show categories in long help 2023-12-17 21:59:11 +01:00
Marcus Holland-Moritz
a75381b0ef Contextual option logging 2023-12-17 21:59:11 +01:00
Marcus Holland-Moritz
9d5969adb7 Better modeling of metadata requirements 2023-12-17 21:59:11 +01:00
Marcus Holland-Moritz
6ddbcad93b Perform metadata check 2023-12-17 21:59:11 +01:00
Marcus Holland-Moritz
3f0d7c14fd Category-dependent block compression 2023-12-17 21:59:11 +01:00
Marcus Holland-Moritz
92226a73bd Parsing more categorized options 2023-12-17 21:59:11 +01:00
Marcus Holland-Moritz
34beffceb3 Integrate categorizers into inode manager 2023-12-17 21:59:11 +01:00
Marcus Holland-Moritz
f30910e79b Allow categorizer selection on command line 2023-12-17 21:59:11 +01:00
Marcus Holland-Moritz
1ac36bb6fa Initial categorizer implementation 2023-12-17 21:59:11 +01:00
Marcus Holland-Moritz
d4d65a4d99 Fix canonical path on Windows when accessing mounted DwarFS image 2023-08-11 18:18:11 +02:00
Marcus Holland-Moritz
eeadbdc124 More python removal 2023-08-03 18:12:06 +02:00
Marcus Holland-Moritz
b4cba6eb74 Remove Python scripting support 2023-08-03 12:15:53 +02:00
Marcus Holland-Moritz
2276eeb8fb Resize progress bar when terminal size changes (fixes github #159) 2023-07-31 18:52:17 +02:00
Marcus Holland-Moritz
86286554a8 Move get_term_width() to terminal.* 2023-07-12 18:10:16 +02:00
Marcus Holland-Moritz
34f3bf3c8a Restructure mkdwarfs options to be less overwhelming 2023-07-10 15:49:22 +02:00
Marcus Holland-Moritz
aa3e490217 Ignore (presumably) false positive Flawfinder warnings 2023-07-09 15:20:14 +02:00
Marcus Holland-Moritz
6bcc3f5e78 Try to resolve codacy warning 2023-07-09 13:15:33 +02:00
Marcus Holland-Moritz
a413d25446 Fix handling of long paths on Windows 2023-07-04 12:37:08 +02:00
Marcus Holland-Moritz
e4dbb4f1dd Parse unicode filter rules 2023-06-28 03:02:57 +02:00
Marcus Holland-Moritz
6674c9bf67 Output unix style path for filter rule debugging 2023-06-28 03:02:34 +02:00
Marcus Holland-Moritz
77f2d39437 Finally get rid of std::endl 2023-06-27 14:22:05 +02:00
Marcus Holland-Moritz
974c3070d4 More Windows terminal / locale / UTF8 tweaks 2023-06-27 11:52:32 +02:00
Marcus Holland-Moritz
6770c13c08 Fancy console output for Windows 2023-06-27 11:14:09 +02:00
Marcus Holland-Moritz
9163c6e24e Initial Unicode support for command line arguments on Windows 2023-06-26 23:59:11 +02:00
Marcus Holland-Moritz
1dcab5996e Use wmain() on Windows 2023-06-26 23:03:05 +02:00
Marcus Holland-Moritz
5a94719f2d sys/stat.h portability 2023-06-22 12:49:59 +02:00
Marcus Holland-Moritz
eec62aa620 More Windows tweaks 2023-06-22 12:47:13 +02:00