-
3432a33d9a
docs(parity): finalize rsync-parity docs for protocol 2.26.0
TapTap
2026-09-17 19:25:06 +02:00
-
a1b081d328
Merge branch 'fix/parity-tests' into feat/parity-completion
TapTap
2026-09-17 01:38:19 +02:00
-
-
bbecff9c04
fix(delete): keep the empty-scan safety guard file-only
TapTap
2026-09-17 01:34:26 +02:00
-
c1553bd5d6
style(delete): simplify redundant root[0] check (cppcheck)
TapTap
2026-09-17 01:31:19 +02:00
-
1a550bda24
test: pin delta-mode %c divergence against rsync
TapTap
2026-09-17 01:30:09 +02:00
-
902f86192d
test: stats file-count residual, --threads coverage, deterministic delete timing
TapTap
2026-09-17 01:24:17 +02:00
-
6a40ac86e5
test(parity): cover --threads for -R delete scope and empty-dir retention
TapTap
2026-09-17 01:25:37 +02:00
-
410ba6e992
style: clang-format receiver.c and server.c
TapTap
2026-09-17 01:23:47 +02:00
-
6c6f02e5dd
fix(parity): empty-dir delete, per-dir filter errors, -R protect, stats parser
TapTap
2026-09-17 01:21:06 +02:00
-
d9006d1fda
client: report rsync's 16-byte %c sum header for whole-file transfers
TapTap
2026-09-17 01:19:00 +02:00
-
36375010d3
client: accept rsync 3.4.1 --info/--debug category vocabulary
TapTap
2026-09-17 01:16:39 +02:00
-
5efa0dba7c
test: differential st_blocks for --sparse/--preallocate and --ignore-existing wire volume
TapTap
2026-09-17 01:13:05 +02:00
-
e32733fbf6
feat(stats): populate receiver wire counters on both receive paths
TapTap
2026-09-17 01:08:32 +02:00
-
b02799327d
fix(delete): guard the per-directory delete commit against dry-run
TapTap
2026-09-17 01:02:22 +02:00
-
946aa934cc
fix(delete): scope -R per-directory delete walk to the transferred prefix
TapTap
2026-09-17 01:00:55 +02:00
-
-
125921c11b
Merge branch 'feat/parity-codecs' into feat/parity-completion
TapTap
2026-09-16 23:49:41 +02:00
-
-
9dd5288381
Merge branch 'feat/parity-wirestats' into feat/parity-completion
TapTap
2026-09-16 23:46:28 +02:00
-
-
3f2c74dd9e
Merge branch 'feat/parity-deltiming2' into feat/parity-completion
TapTap
2026-09-16 23:44:13 +02:00
-
-
51e41dee2a
Merge branch 'feat/parity-leftovers' into feat/parity-completion
TapTap
2026-09-16 23:44:13 +02:00
-
-
dbf1b39d47
fix(delete): share the per-frame manifest byte budget across delete-plan sections
TapTap
2026-09-16 23:36:46 +02:00
-
845f20a28d
docs(delete): describe per-directory timing in usage and config comments
TapTap
2026-09-16 23:30:26 +02:00
-
a5083776da
test(delete): cover per-dir timings for files-from scope, max-delete, excluded protection, refuse-delete, type conflicts
TapTap
2026-09-16 23:29:25 +02:00
-
76a81f1684
test(codec): differential coverage vs rsync and wire-golden updates
TapTap
2026-09-16 23:27:44 +02:00
-
24b81c7e5a
feat(codec): negotiate checksum/compression algorithms (protocol 2.26.0)
TapTap
2026-09-16 23:27:40 +02:00
-
0e33f84f38
feat(codec): implement md4/sha1/none digests and lz4/zlib/zlibx codecs
TapTap
2026-09-16 23:27:34 +02:00
-
c7ac039523
docs(parity): correct implied-dir walk comment
TapTap
2026-09-16 23:26:22 +02:00
-
e771cc9da6
fix(delete): guard per-dir missing-args by server policy; fall back for --dirs
TapTap
2026-09-16 23:26:14 +02:00
-
7f9f82a068
style: clang-format and cppcheck fixes; document filter grammar in usage
opencode
2026-09-16 23:24:36 +02:00
-
695b5c8c25
fix(parity): protect -R prefix-relative excluded and size-skipped mirrors
TapTap
2026-09-16 23:21:58 +02:00
-
5b2188d909
fix(parity): scope -R --delete to the transferred prefix subtree
TapTap
2026-09-16 23:20:46 +02:00
-
e5da916d54
test(parity): cover -d one-level listing, empty --files-from and negation rejection
TapTap
2026-09-16 23:19:18 +02:00
-
de640bba1b
feat(parity): report --stats during server-contacting dry-run
TapTap
2026-09-16 23:15:53 +02:00
-
f0f5719be0
docs(protocol): correct STATUS_STATS field description
TapTap
2026-09-16 23:14:45 +02:00
-
6200b298ac
test(parity): ignore the untransferred source-root line in %C diff
TapTap
2026-09-16 23:13:22 +02:00
-
394a9aae22
feat(parity): rsync filter grammar (merge/dir-merge/hide/show/protect/risk/clear + modifiers) and -F click semantics
opencode
2026-09-16 23:10:17 +02:00
-
12d4af1b89
docs(usage): list %c/%C in --out-format help
TapTap
2026-09-16 23:07:40 +02:00
-
9d7c55d3c0
fix(parity): read STATUS_STATS before --remove-source-files acks
TapTap
2026-09-16 23:06:54 +02:00
-
5a104bfd88
fix(receiver): initialize new sink fields in -m pipeline
TapTap
2026-09-16 23:05:46 +02:00
-
2ada8f9ad5
style: clang-format wire-stats changes
TapTap
2026-09-16 23:02:53 +02:00
-
1493f1806d
feat(parity): rsync-style per-file --progress and differential tests
TapTap
2026-09-16 23:00:39 +02:00
-
ea28e25535
feat(parity): receiver STATUS_STATS report and -n --delete lines
TapTap
2026-09-16 22:55:26 +02:00
-
d6295d62ce
test(delete): differential + timing regression tests for per-directory delete plans
TapTap
2026-09-16 22:50:51 +02:00
-
a9f416ce44
feat(parity): rsync fuzzy distance/suffix heuristic + exact size+mtime pass
opencode
2026-09-16 22:45:57 +02:00
-
448edc0432
feat(delete): per-directory delete plans for --delete-during/--delete-delay (protocol 2.24.0)
TapTap
2026-09-16 22:45:26 +02:00
-
-
-
4a7703b06a
feat(parity): -d/--dirs one-level listing for dir/, dir/. and .
TapTap
2026-09-16 22:44:22 +02:00
-
6fc297544e
test(parity): differential coverage for -R, --no-implied-dirs and client aliases
TapTap
2026-09-16 22:42:30 +02:00
-
583d3c8edb
feat(parity): general -R/--relative path semantics and --no-implied-dirs
TapTap
2026-09-16 22:41:28 +02:00
-
9883757190
fix(parity): accept rsync client aliases, --iconv=. / - and lone -h
TapTap
2026-09-16 22:41:23 +02:00
-
-
-
a690109975
feat(parity): resolve --chown TO names on receiver via map rules
opencode
2026-09-16 22:41:12 +02:00
-
36d4d0e43e
feat(parity): wire-stats protocol 2.25.0 + out-format %b/%c/%C
TapTap
2026-09-16 22:35:43 +02:00
-
-
-
a0b9d9794b
feat(parity): absolute basis dirs + link-dest relink of up-to-date dest
opencode
2026-09-16 22:34:43 +02:00
-
3e9f70d9ba
fix(parity): receiver-side --ignore-existing short-circuit before payload
opencode
2026-09-16 22:29:46 +02:00
-
2b5aaef409
fix(parity): --preallocate wins over --sparse, prefer fallocate(2)
opencode
2026-09-16 22:26:58 +02:00
-
-
478f80be9f
test(parity): add --stop-at rsync date-form differential coverage
TapTap
2026-09-16 22:22:56 +02:00
-
e674b25213
fix(parity): client quick wins for rsync 3.4.1 (copy-links exit 23, info/debug flags, empty files-from, -F ordering, delete edges)
TapTap
2026-09-16 22:21:45 +02:00
-
1116da9f64
docs: correct rsync-parity claims and stale facts (#297)
TapTap
2026-09-16 01:47:33 +02:00
-
684153350a
Merge branch 'fix/parity-chmod' into feat/rsync-parity
TapTap
2026-09-16 01:24:05 +02:00
-
-
ec206b02d0
chmod: match rsync 3.4.1 --chmod and remove mode masking (#293)
TapTap
2026-09-16 01:23:45 +02:00
-
88bdfeeb58
fix(parity): receiver temp-dir confinement, server I/O floor, delete budget
TapTap
2026-09-16 01:11:59 +02:00
-
-
3f5b0250f4
fix: ASan out-of-bounds argv in cli test, cppcheck uninit rate buffer
TapTap
2026-09-15 23:53:49 +02:00
-
c41bfb2cdb
test: align trust-sender tests with rsync-parity symlink storage
TapTap
2026-09-15 23:44:14 +02:00
-
1b2632f968
test: fix merged parity branches (4-section manifest fixtures, timeout-teardown)
TapTap
2026-09-15 23:38:15 +02:00
-
7dbca70a4b
Merge branch 'feat/parity-output' into feat/rsync-parity
TapTap
2026-09-15 23:25:34 +02:00
-
-
1a053f06e5
Merge branch 'feat/parity-ownership' into feat/rsync-parity
TapTap
2026-09-15 23:24:58 +02:00
-
-
58b3a33e82
Merge branch 'feat/parity-delete' into feat/rsync-parity
TapTap
2026-09-15 23:24:24 +02:00
-
-
17b0632098
Merge branch 'feat/parity-network' into feat/rsync-parity
TapTap
2026-09-15 23:24:21 +02:00
-
-
376e6500ab
fix(delete): count recursive missing-arg removals per entry (#290)
TapTap
2026-09-15 23:23:52 +02:00
-
82a1d5e240
fix(delete): match rsync deletion semantics (#290)
TapTap
2026-09-15 23:12:03 +02:00
-
3eec5a4cc3
feat(parity): rsync 3.4.1 checksum/timeout/temp-dir/connectivity parity (#289 #295 #296)
TapTap
2026-09-15 22:20:02 +02:00
-
-
6144c7fc7f
fix(identity): rsync ownership parity for numeric-ids, dirs, maps, fake-super (#286, #294)
TapTap
2026-09-15 22:10:02 +02:00
-
-
ea4ab661b4
fix(parity): rsync 3.4.1 symlink and special-node semantics (#287, #288)
TapTap
2026-09-15 21:57:48 +02:00
-
-
84827ca617
feat(output): rsync 3.4.1 selection and output parity (#291, #292)
TapTap
2026-09-15 21:57:39 +02:00
-
-
23552e823d
feat(cli): rsync short-option clustering and inline/attached values (#285)
TapTap
2026-09-15 21:12:53 +02:00
-
d1a567f7e3
ci: pin fastsync-ci:v11 with rsync 3.4.1 + acl/attr for parity tests
TapTap
2026-09-15 20:37:50 +02:00
-
-
93c1fc3c1f
test: create fault-injection destination root in seeding fixture
TapTap
2026-09-15 20:02:00 +02:00
-
4815b1b281
test: account for group/other-write sanitization in new-dest mode expectation
TapTap
2026-09-15 19:41:12 +02:00
-
ad7bc3348b
Merge branch 'feat/preserve-attr-split' into dev
TapTap
2026-09-15 19:32:12 +02:00
-
-
34970b961c
feat: per-attribute preservation flags -p/-t/-o/-g with --no-* negations (protocol 2.22.0)
TapTap
2026-09-15 19:32:02 +02:00
-
-
b3f7cad4db
Merge docs/handoff: session handoff document
TapTap
2026-09-14 19:36:28 +02:00
-
-
cd8a84c0a2
docs: add session handoff (status, next steps, deferred security items)
TapTap
2026-09-14 19:35:39 +02:00
-
-
09c384d7d0
Merge branch 'docs/readme-refresh' into dev
TapTap
2026-09-14 18:52:54 +02:00
-
-
81ad313ee5
docs: refresh README against implementation and guard against drift
TapTap
2026-09-14 18:48:42 +02:00
-
919a729206
Release v2.21.0
v2.21.0
TapTap
2026-09-14 18:16:42 +02:00
-
8cd2b550d9
Merge dev environment fix and push-only documentation
TapTap
2026-09-14 18:08:51 +02:00
-
-
99c0fd8016
Merge benchmark improvements: accurate data mix, transfer verification, warm mode
TapTap
2026-09-14 18:08:51 +02:00
-
-
a2200f039a
chore(dev): fix nix-shell environment; document push-only direction
TapTap
2026-09-14 18:08:46 +02:00
-
-
-
1437c6dc6b
bench: fix data mix, verify transfers, robust netem, warm mode
TapTap
2026-09-14 18:07:37 +02:00
-
-
38356ecc1e
test: fix valgrind definite leak in forked compression truncation test
TapTap
2026-09-14 17:54:20 +02:00
-
-
7badac7f97
test(compression): free inherited Data in forked truncation test (valgrind)
TapTap
2026-09-14 17:54:20 +02:00
-
-
6ccf16b650
Merge security hardening wave: parser/compression, receiver confinement, server/transport/TLS
TapTap
2026-09-14 17:40:29 +02:00
-
-
-
-
1174993d6b
Merge branch 'fix/sec-server' into fix/sec-integration
TapTap
2026-09-14 17:38:23 +02:00
-
-
d5fcfa2c5c
style(ssh): drop redundant condition flagged by cppcheck
TapTap
2026-09-14 17:38:23 +02:00
-
e79d2b47b0
Merge branch 'fix/sec-server' into fix/sec-integration
TapTap
2026-09-14 17:27:38 +02:00
-
-
7c24a365cf
Merge branch 'fix/sec-receiver' into fix/sec-integration
TapTap
2026-09-14 17:27:38 +02:00
-
-
5893de4a34
fix(receiver): close re-review findings — dry-run basis oracle, ACL capture, fsync reopen
TapTap
2026-09-14 17:19:27 +02:00
-
825ba69753
fix(server): reject --allow-super with --stdio, fix module host-list append
TapTap
2026-09-14 17:16:01 +02:00
-
34abaadb9a
fix: address low/informational sec-parser follow-ups
TapTap
2026-09-14 17:11:02 +02:00
-
10c4ffebdf
fix(client): harden CLI args, log escaping, and local artifact opens
TapTap
2026-09-14 16:39:19 +02:00
-
dfa2a42028
fix(protocol): retry EINTR on receive and clamp SSL_write length
TapTap
2026-09-14 16:39:19 +02:00
-
5b0ec5880d
fix(filter): bound .rsync-filter lines and guard capacity growth
TapTap
2026-09-14 16:39:14 +02:00