1. A computer-implemented method, comprising: at a computing device, wherein there is an instance of a virtual file system running on the computing device and the virtual file system has an associated commit tree that includes a first branch corresponding to a first revision of the virtual file system: receiving a request to synchronize the first revision of the virtual file system with a plurality of storage devices; and in response to the request, retrieving one or more blocks from the plurality of storage devices, wherein the blocks are associated with a second revision of the virtual file system; and processing the retrieved blocks in a predefined order, further including: merging a first component of the first revision of the virtual file system with a corresponding component of the second revision of the virtual file system if a first predefined condition is met; and identifying a second component of the first revision of the virtual file system as being conflicted with a corresponding component of the second revision of the virtual file system if a second predefined set of conditions is met.