TapTap
15f38f5b76
Merge branch 'feat/parity-f4' into feat/parity-next
2026-09-22 23:20:21 +02:00
TapTap
787967d3ce
Merge branch 'feat/parity-f2' into feat/parity-next
2026-09-22 23:20:21 +02:00
TapTap
06e7aef5c9
Merge branch 'feat/parity-f1' into feat/parity-next
2026-09-22 23:20:21 +02:00
TapTap
ee265d78ba
fix(delete-before): replay pre-scan list in --threads path
2026-09-22 23:19:55 +02:00
TapTap
47b1b9b915
fix(xattr): fake-super device round-trip, --devices continue-on-error, harden stat parse
2026-09-22 23:05:40 +02:00
TapTap
bb6c788cf9
fix(daemon): rsync read-only module default; warn on unenforced security keys
2026-09-22 22:53:23 +02:00
TapTap
0b40c47d6a
Merge branch 'feat/parity-b4' into feat/parity-next
...
# Conflicts:
# RSYNC_COMPAT.md
2026-09-22 22:08:16 +02:00
TapTap
6f81005094
Merge branch 'feat/parity-b3' into feat/parity-next
...
# Conflicts:
# RSYNC_COMPAT.md
2026-09-22 22:07:45 +02:00
TapTap
193d358c64
Merge branch 'feat/parity-b2' into feat/parity-next
2026-09-22 22:06:25 +02:00
TapTap
8792e3265a
Merge branch 'feat/parity-b1' into feat/parity-next
2026-09-22 22:06:25 +02:00
TapTap
3ec0ffb644
fix(delete-before): reuse pre-scan file list in single-threaded data pass
2026-09-22 22:05:50 +02:00
TapTap
80e8d7f450
feat(xattr): rsync-interoperable --fake-super stat; fix --devices error parity
2026-09-22 22:03:41 +02:00
TapTap
86741725fd
feat(daemon): accept rsync rsyncd.conf key subset and --dparam mapping
2026-09-22 22:02:09 +02:00
TapTap
f96f1764af
feat(cli): accept --inc-recursive no-op and in-root absolute --temp-dir
2026-09-22 21:58:54 +02:00
TapTap
d780a4625e
Merge PR #308 : close valid residuals of issues #286-#297
CI / lint (push) Successful in 1m45s
CI / parity-fast (push) Skipped
CI / parity-full (push) Successful in 21s
CI / sanitizers (address) (push) Successful in 52s
CI / sanitizers (undefined) (push) Successful in 42s
CI / build-and-test (push) Successful in 1m16s
CI / fuzz-build (push) Successful in 47s
CI / coverage (push) Successful in 44s
CI / valgrind (push) Successful in 2m18s
2026-09-22 17:30:36 +02:00
TapTap
5d1303ffdf
Merge branch 'fix/issues-f4' into fix/issues-triage
CI / lint (pull_request) Successful in 1m45s
CI / parity-full (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
CI / parity-fast (pull_request) Successful in 17s
CI / build-and-test (pull_request) Successful in 54s
2026-09-22 17:18:59 +02:00
TapTap
06b53c5b3d
Merge branch 'fix/issues-f3' into fix/issues-triage
2026-09-22 17:18:59 +02:00
TapTap
bf09e8893e
Merge branch 'fix/issues-f2' into fix/issues-triage
2026-09-22 17:18:59 +02:00
TapTap
034c27926f
Merge branch 'fix/issues-f1' into fix/issues-triage
2026-09-22 17:18:59 +02:00
TapTap
aa15099d22
fix(output): restore --info=flist header; dir metadata on plan path; root line for -d
2026-09-22 17:17:04 +02:00
TapTap
ff4db23831
fix(identity): free TO name on glob success path; harden test oracle
2026-09-22 17:08:03 +02:00
TapTap
79e45441c0
fix(receiver): defer --dirs directory mode to avoid EACCES on children
...
file_save_directory_to_disk() applied the exact source mode (fchmod)
inline for explicit --dirs/STATUS_MKDIR entries. A restrictive source
mode (e.g. 0555) then made the directory read-only before its children
were written, so a non-root receiver failed each child with EACCES. The
recursive -a path never hit this because it defers directory metadata.
Remove the inline fchmod and let the existing deferred
dir_metadata_list_apply() stamp the exact mode at end of transfer, as the
recursive path does. Keep the inline ownership and xattrs (a direct
file_save_to_disk_full() caller has no deferred pass) and document the
resulting intentional ordering. Capture errno before output_escape() in
the inline timestamp diagnostic so strerror() reports the real error, and
add the missing trailing newline to tests/test_xattr.c.
2026-09-22 17:06:54 +02:00
TapTap
6537227467
test(transport): de-race fallback/fd tests and gate for valgrind
2026-09-22 17:05:54 +02:00
TapTap
309c9aed98
refactor: const-correct dir/root locals in progress itemize
2026-09-22 16:46:23 +02:00
TapTap
84594197ee
Merge branch 'fix/issues-b1' into fix/issues-triage
2026-09-22 16:37:56 +02:00
TapTap
7bf25048f6
docs: correct parity claims for issues #286-#297
2026-09-22 16:37:21 +02:00
TapTap
b6b5eee20e
Merge branch 'fix/issues-a3' into fix/issues-triage
2026-09-22 16:20:55 +02:00
TapTap
8dcd87609d
Merge branch 'fix/issues-a2' into fix/issues-triage
2026-09-22 16:20:55 +02:00
TapTap
19fe63bd59
Merge branch 'fix/issues-a1' into fix/issues-triage
2026-09-22 16:20:55 +02:00
TapTap
1f5f8dc5a7
fix(output): emit directory/root lines for -i and --out-format ( #292 )
2026-09-22 16:20:03 +02:00
TapTap
3787695ba6
fix(xattr): apply --dirs directory xattrs fd-relative ( #286 )
2026-09-22 16:05:18 +02:00
TapTap
b7cb213c8c
fix: FROM name globs for identity maps; transport fallback tests ( #294 , #219 )
2026-09-22 16:03:18 +02:00
TapTap
8cc3dd993b
Merge PR #307 : structural refactor cycle (no behavior change)
CI / lint (push) Successful in 1m42s
CI / parity-fast (push) Skipped
CI / parity-full (push) Successful in 21s
CI / sanitizers (address) (push) Successful in 53s
CI / sanitizers (undefined) (push) Successful in 43s
CI / build-and-test (push) Successful in 1m16s
CI / fuzz-build (push) Successful in 48s
CI / coverage (push) Successful in 44s
CI / valgrind (push) Successful in 2m18s
2026-09-22 14:58:26 +02:00
TapTap
1167e7970b
refactor(delete): rename basis helper to delete_basis_relative
CI / lint (pull_request) Successful in 1m43s
CI / parity-full (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
CI / parity-fast (pull_request) Successful in 19s
CI / build-and-test (pull_request) Successful in 57s
2026-09-22 14:52:36 +02:00
TapTap
e98729f00e
refactor: const-correct delete-manifest API; apply clang-format
2026-09-22 14:24:39 +02:00
TapTap
c0020364b2
Merge branch 'refactor/minor' into refactor/structural
2026-09-22 14:06:55 +02:00
TapTap
d7ac940a6b
Merge branch 'refactor/cfg' into refactor/structural
2026-09-22 14:06:55 +02:00
TapTap
be20e836de
fix: correct throttle legacy resolution; add EXDEV temp-dir coverage
2026-09-22 14:06:26 +02:00
TapTap
b549887138
refactor(config): group CLI-parse state; drop old_args field
2026-09-22 14:03:10 +02:00
TapTap
1ffd4744c6
Merge branch 'refactor/delete' into refactor/structural
2026-09-22 13:53:20 +02:00
TapTap
494cef2a0b
Merge branch 'refactor/pending' into refactor/structural
2026-09-22 13:53:20 +02:00
TapTap
ed7527cc2c
Merge branch 'refactor/handler' into refactor/structural
2026-09-22 13:53:20 +02:00
TapTap
934defa965
refactor(delete): consolidate delete engine into delete.c
2026-09-22 13:52:57 +02:00
TapTap
ade9be8600
refactor(receiver): per-status dispatch and shared pending teardown
2026-09-22 13:49:28 +02:00
TapTap
707bb659e8
refactor(server): decompose handler into phases
2026-09-22 13:46:17 +02:00
TapTap
33980bc4c8
Merge branch 'refactor/filerecv' into refactor/structural
2026-09-22 13:39:34 +02:00
TapTap
6a9372f4f5
Merge branch 'refactor/client' into refactor/structural
2026-09-22 13:39:34 +02:00
TapTap
5e1d6b6e10
Merge branch 'refactor/scanner' into refactor/structural
2026-09-22 13:39:34 +02:00
TapTap
d2d1b63f44
refactor(receive): split file_save/incremental_check/delete_commit out
...
Pure structural split of src/shared/file_receive.c into focused translation
units behind the unchanged file_receive.h facade:
- file_save.c : save-to-disk, special nodes, --delay-updates staging
- incremental_check.c : xattr/delta/basis/fuzzy receive + check state machine
- delete_commit.c : manifest receive + delete budget walkers
- file_receive.c : wire receive dispatch + deferred dir metadata
The shared receive_file_xattrs helper and MAX_FILE_DATA_SIZE are declared in
incremental_check.h. file_save_to_disk_full_ex is decomposed into static
helpers (validation, special dispatch, dir/symlink creation, path resolution,
pre-write policies, data install) routed through one cleanup epilogue.
No behavior change.
2026-09-22 13:38:54 +02:00
TapTap
a6659472fe
refactor(scanner): split into filter/sequential/parallel TUs
...
Move the filter rule-tree/context helpers and entry inspection into
scanner_filter.c, the parallel scanner into scanner_parallel.c, and keep
the sequential scanner in scanner.c. Shared internal declarations live in
the new scanner_internal.h; scanner.h stays the public façade.
Decompose directory_scanner_next into static helpers (skipped-entry,
selection-protection, mount/-x, directory-finish and per-entry handlers)
with no semantic change.
2026-09-22 13:38:05 +02:00