You'll noticeTier: how much it should matter to you
1Useful: my rating, 1 to 5
1Signal: worth watching, 1 to 5
Cloud SyncArea: what it touches
ImprovementsKind: in v2.1.283,
ImprovementsSection of the release
What
When sync pulls in new commits, git has to merge them into its index, the list of changes staged for the next commit. When that merge fails, sync now reports the reason more precisely:
staged_changes is reported only if a file you have staged really overlaps the incoming commits. This is checked with git's diff-tree and diff-index commands.
index_merge_failed is a new reason, shown as "the index merge failed", for any other failure.
The new reason joins the existing git-state reasons staged_changes, operation_in_progress and checked_out_elsewhere.
Why
Before, every such failure was reported as staged_changes, even when you had nothing staged that got in the way. The message now points at your staged files only when they are actually the cause.