Renames purge_item to purge_item_filesystem — body becomes filesystem-only (remove item.enc, remove attachments/<id>/, manifest.remove). Returns the relative paths it removed. cmd_purge and cmd_trash_empty accumulate the paths and fire ONE git rm + ONE git add + ONE git commit per invocation. A 50-item trash empty now produces 3 git subprocesses regardless of N (was N+2). New regression test trash_empty_batches_into_one_commit asserts the one-commit invariant via git rev-list --count.
6.2 KiB
6.2 KiB