Commit Graph

  • 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