Phase 2: implement --temp-dir #262

Closed
TapTap wants to merge 0 commits from feat/p2-temp-dir into dev
Owner

Implements rsync --temp-dir=DIR (long option only; -T stays the timeout alias). Receiver writes temps into a scratch dir confined under the receive root (0700) and atomically renames into the destination; EXDEV aborts the file (no copy fallback); per-thread-safe unique temp names; --inplace/--partial-dir bypass. Config.temp_dir already on the wire - no protocol bump. Tests: config round-trip, CLI parse, integration (scratch used/no leftovers/escape rejected/-m/inplace/partial). c-review APPROVE WITH NITS, nits fixed.

Implements rsync `--temp-dir=DIR` (long option only; `-T` stays the timeout alias). Receiver writes temps into a scratch dir confined under the receive root (0700) and atomically renames into the destination; EXDEV aborts the file (no copy fallback); per-thread-safe unique temp names; `--inplace`/`--partial-dir` bypass. Config.temp_dir already on the wire - no protocol bump. Tests: config round-trip, CLI parse, integration (scratch used/no leftovers/escape rejected/-m/inplace/partial). c-review APPROVE WITH NITS, nits fixed.
TapTap added 2 commits 2026-09-06 12:51:02 +02:00
fix: address c-review nits for --temp-dir engine
CI / lint (pull_request) Failing after 21s
CI / build-and-test (pull_request) Skipped
CI / sanitizers (address) (pull_request) Skipped
CI / sanitizers (undefined) (pull_request) Skipped
CI / fuzz-build (pull_request) Skipped
CI / coverage (pull_request) Skipped
CI / valgrind (pull_request) Skipped
00e8df4bcd
Author
Owner

Merged into dev via commit 9fbb86c.

Implemented and merged to dev (9fbb86c). Independent c-review: APPROVE WITH NITS; nits fixed (no 100x rewrite on permanent EXDEV, scratch-open error logging, update-skip before scratch create, heap-sized temp names, scratch mode 0700, EXDEV wording, inplace/partial bypass tests). dev CI run #466 all green. Closing as merged.

**Merged into dev** via commit 9fbb86c. Implemented and merged to dev (9fbb86c). Independent c-review: APPROVE WITH NITS; nits fixed (no 100x rewrite on permanent EXDEV, scratch-open error logging, update-skip before scratch create, heap-sized temp names, scratch mode 0700, EXDEV wording, inplace/partial bypass tests). dev CI run #466 all green. Closing as merged.
TapTap closed this pull request 2026-09-06 12:59:20 +02:00

Pull request closed

This pull request cannot be reopened because the branch was deleted.
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: TapTap/FastSync#262