A computer-implemented method comprising: storing, on a client device, a set of tree data structures including a sync tree, a remote tree and a local tree, wherein the sync tree represents a known synced state between a server state and a file system state, the remote tree represents the server state, and the local tree represents the file system state; identifying a set of modifications based on at least one difference between the sync tree and at least one of the remote tree and the local tree; selecting a set of unblocked modifications from the set of modifications based on whether each modification has a dependency; ranking the set of unblocked modifications, wherein a first subset of the unblocked modifications are ranked higher than a second subset of modifications based on a different modification type associated with each subset, and wherein the first subset are delete modifications and the second subset are add modifications; selecting the first subset of the set of unblocked modifications based on the ranking, wherein the first modification type is delete modification and the second modification type is an add modification; generating, based on the set of unblocked modifications, a first set of operations configured to converge the server state and the file system state, wherein the first set of operations is generated based on the selected first subset; generating, based on the set of unblocked modifications, a second set of operations configured to converge the server state and the file system state, wherein the second set of operations is generated based on the second subset; and providing the first set of operations for execution; subsequent to providing the first set of operations for execution, providing the second set of operations for execution. storing, on a client device, a set of tree data structures including a sync tree, a remote tree and a local tree, wherein the sync tree represents a known synced state between a server state and a file system state, the remote tree represents the server state, and the local tree represents the file system state; identifying a set of modifications based on at least one difference between the sync tree and at least one of the remote tree and the local tree; selecting a set of unblocked modifications from the set of modifications based on whether each modification has a dependency; ranking the set of unblocked modifications, wherein a first subset of the unblocked modifications are ranked higher than a second subset of modifications based on a different modification type associated with each subset, and wherein the first subset are delete modifications and the second subset are add modifications; selecting the first subset of the set of unblocked modifications based on the ranking, wherein the first modification type is delete modification and the second modification type is an add modification; generating, based on the set of unblocked modifications, a first set of operations configured to converge the server state and the file system state, wherein the first set of operations is generated based on the selected first subset; generating, based on the set of unblocked modifications, a second set of operations configured to converge the server state and the file system state, wherein the second set of operations is generated based on the second subset; and providing the first set of operations for execution; subsequent to providing the first set of operations for execution, providing the second set of operations for execution.