{"version":"2.1.281","anchor":"set-aside-list-truncation-helper","canonical_anchor":"set-aside-list-truncation-helper","heading":"Directory sync tolerates malformed git history and caps the set-aside list","tier":"internal","area":"Cloud Sync","url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281\/e\/set-aside-list-truncation-helper","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281","markdown":"### Directory sync tolerates malformed git history and caps the set-aside list\n\nDirectory sync now accepts repos with known malformed commit data, dates fork points oldest first and caps its setAside list\n\n**Unclear.** The finding does not say what the set-aside list holds, where a reader would see it, or what the limit is.\n\n**What**\n\nWhen a cloud session and your machine exchange git history, Claude Code checks each incoming bundle with `index-pack`. It used to run this check in plain `--strict` mode. That changes in several ways:\n\n- `index-pack` now runs with `--strict=` plus a list of known problems to ignore, and the list depends on which side is receiving. Both the container and your machine ignore problems such as `badDate`, `badEmail` and `zeroPaddedFilemode`, and the container also ignores `gitmodulesUpdate`.\n\n- A bundle that is still refused is logged as `dir_sync_git_receive_fsck_refused`.\n\n- Creating a bundle adds `--no-reuse-object`, depending on your git version.\n\n- When there are more fork points than the limit allows, they are chosen oldest first, using dates from `rev-list --timestamp`. A fork point is where two lines of history split.\n\n- Git now runs from a program location found for the session's root folder, not from one fixed program.\n\n- The sync data gains a `setAside` list and a `setAsideTruncated` marker. A new helper caps `setAside` at a limit and sets `setAsideTruncated` when the list is cut short.\n\n**Why**\n\nRepositories whose history contains malformed commit details, such as bad dates or email addresses, should no longer fail to sync. The set-aside list also can no longer grow without bound.\n\n- Area: Cloud Sync\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 1\/5"}