Skip to content

Add CLI debug flag handling and propagate to fallback#1084

Merged
oferchen merged 2 commits into
masterfrom
implement-missing-components-for-rsync
Oct 25, 2025
Merged

Add CLI debug flag handling and propagate to fallback#1084
oferchen merged 2 commits into
masterfrom
implement-missing-components-for-rsync

Conversation

@oferchen
Copy link
Copy Markdown
Owner

Summary

  • add --debug documentation, parsing, and help output to the oc-rsync CLI
  • surface parsed debug flags through ClientConfig and RemoteFallbackArgs so the fallback rsync binary receives matching --debug arguments
  • extend the fallback command builder and baseline defaults plus new tests to cover the debug flow

Testing

  • cargo test -p rsync-cli
  • cargo test -p rsync-core

https://chatgpt.com/codex/tasks/task_e_68fc1090c1848323a37c9d11acef17f9

@oferchen oferchen merged commit cd6aaee into master Oct 25, 2025
@oferchen oferchen deleted the implement-missing-components-for-rsync branch October 25, 2025 00:15
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread crates/cli/src/lib.rs
Comment on lines +221 to 222
const SUPPORTED_OPTIONS_LIST: &str = "--help/-h, --version/-V, --daemon, --dry-run/-n, --list-only, --archive/-a, --delete/--del, --delete-before, --delete-during, --delete-delay, --delete-after, --checksum/-c, --size-only, --ignore-existing, --exclude, --exclude-from, --include, --include-from, --filter (including exclude-if-present=FILE), --files-from, --password-file, --no-motd, --from0, --bwlimit, --timeout, --protocol, --compress/-z, --no-compress, --compress-level, --info, --debug, --verbose/-v, --progress, --no-progress, --msgs2stderr, --itemize-changes/-i, --out-format, --stats, --partial, --partial-dir, --no-partial, --remove-source-files, --remove-sent-files, --inplace, --no-inplace, --whole-file/-W, --no-whole-file, -P, --sparse/-S, --no-sparse, --copy-links/-L, --copy-dirlinks/-k, --no-copy-links, -D, --devices, --no-devices, --specials, --no-specials, --owner, --no-owner, --group, --no-group, --perms/-p, --no-perms, --times/-t, --no-times, --acls/-A, --no-acls, --xattrs/-X, --no-xattrs, --numeric-ids, and --no-numeric-ids";
const SUPPORTED_OPTIONS_LIST: &str = "--help/-h, --version/-V, --daemon, --dry-run/-n, --list-only, --archive/-a, --delete/--del, --delete-before, --delete-during, --delete-delay, --delete-after, --checksum/-c, --size-only, --ignore-existing, --exclude, --exclude-from, --include, --include-from, --filter (including exclude-if-present=FILE), --files-from, --password-file, --no-motd, --from0, --bwlimit, --timeout, --protocol, --rsync-path, --compress/-z, --no-compress, --compress-level, --info, --verbose/-v, --progress, --no-progress, --msgs2stderr, --itemize-changes/-i, --out-format, --stats, --partial, --partial-dir, --no-partial, --remove-source-files, --remove-sent-files, --inplace, --no-inplace, --whole-file/-W, --no-whole-file, -P, --sparse/-S, --no-sparse, --copy-links/-L, --copy-dirlinks/-k, --no-copy-links, -D, --devices, --no-devices, --specials, --no-specials, --owner, --no-owner, --group, --no-group, --perms/-p, --no-perms, --times/-t, --no-times, --acls/-A, --no-acls, --xattrs/-X, --no-xattrs, --numeric-ids, and --no-numeric-ids";
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P0 Badge Remove duplicate SUPPORTED_OPTIONS_LIST const

Introducing a second const SUPPORTED_OPTIONS_LIST right after the existing one leaves two top‑level constants with the same name in lib.rs. Rust disallows multiple items sharing the same identifier in a module, so the crate will fail to compile before any of the new debug flag logic can run. Replace the existing declaration instead of adding another so the constants remain unique.

Useful? React with 👍 / 👎.

oferchen added a commit that referenced this pull request May 7, 2026
…#3828)

Audit the 64-entry PARALLEL_STAT_THRESHOLD against high-latency
filesystem semantics. Surveys NFS GETATTR cost, FUSE attribute caching,
and server-side concurrency ceilings; proposes statfs-based detection,
env var override, and CLI flag with auto/always/never modes.
oferchen added a commit that referenced this pull request May 7, 2026
…3923)

Design note motivating per-filesystem thresholds for the receiver's
parallel stat refresh. Captures detection strategy via statfs magic
numbers, a starting threshold table, an implementation sketch with
a per-device cache, and the misdetection risks on bind mounts and
overlay filesystems.
oferchen added a commit that referenced this pull request May 18, 2026
…#3828)

Audit the 64-entry PARALLEL_STAT_THRESHOLD against high-latency
filesystem semantics. Surveys NFS GETATTR cost, FUSE attribute caching,
and server-side concurrency ceilings; proposes statfs-based detection,
env var override, and CLI flag with auto/always/never modes.
oferchen added a commit that referenced this pull request May 18, 2026
…3923)

Design note motivating per-filesystem thresholds for the receiver's
parallel stat refresh. Captures detection strategy via statfs magic
numbers, a starting threshold table, an implementation sketch with
a per-device cache, and the misdetection risks on bind mounts and
overlay filesystems.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant