On Tue, 15 Feb 2022, at 6:42 PM, Sebastian Hagedorn wrote:
I think that’s a useful tool to have. Is the idea that it’s not required anymore in current versions, or just that nobody has thought of it?
I don't know, but either seems plausible.
It seems to me like it does the same thing as "reconstruct -n". In fact, looking at the current code, apart from some startup and some filtering-what-to-work-on code, after that chk_cyrus just calls into the same code reconstruct -n uses (that is: mailbox_reconstruct(), without the RECONSTRUCT_MAKE_CHANGES flag).
So it _should_ be okay, as long as the startup code and filtering-what-to-work-on code is okay, but I don't know whether it is or isn't. I imagine it's probably fine in 2.4, but I also wouldn't be surprised to find that the filtering part of the code has lagged behind updates since then. For that matter, maybe 2.4 still has a separate implementation, I'm not sure, I haven't looked. The error that came up in the other thread was from the filtering code, not the reconstruct code.
It might have started life as a "cheaper than a full reconstruct" tool, for the exact use case you describe. These days, it's mostly the same code, so there doesn't seem to be any advantage there -- though maybe there still is for 2.4.
In any case, if it turns out there's a bug in a supported version we'll try and get it fixed; and if we decide the tool is redundant and not worth ongoing maintenance, it would be removed from a future version, not a present version.
Cheers,
ellie