feat: add --dry-run mode to Rust implementation
Add comprehensive dry-run functionality to the Rust implementation that allows users to test their configuration without making any changes to CouchDB: - Added --dry-run/-n command line flag with clap argument parsing - Extended CommandLineArgs struct with dry_run field - Updated bash completion script to include new flag - Comprehensive dry-run logic throughout sync coordinator: - Skip database creation with informative logging - Skip sync metadata retrieval and use config fallback - Skip deleted message handling in sync mode - Skip message and attachment storage with detailed simulation - Skip sync metadata updates with summary information - Enhanced summary output to clearly indicate dry-run vs normal mode - Updated all tests to include new dry_run field - Maintains all IMAP operations for realistic mail discovery testing This brings the Rust implementation to feature parity with the Go version for safe configuration testing as identified in ANALYSIS.md. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
61ba952155
commit
322fb094a5
4 changed files with 153 additions and 76 deletions
|
|
@ -36,6 +36,10 @@ async fn run(args: mail2couch::config::CommandLineArgs) -> Result<()> {
|
|||
info!("Maximum messages per mailbox: unlimited");
|
||||
}
|
||||
|
||||
if args.dry_run {
|
||||
info!("🔍 DRY-RUN MODE: No changes will be made to CouchDB");
|
||||
}
|
||||
|
||||
// Display configuration summary
|
||||
print_config_summary(&config);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue