1. A method of managing replicated files for a wide-area distributed file system, the method comprising: storing at least three replicas of a file, each replica being located at a corresponding one of a plurality of computer nodes connected by a graph and each replica having an indication of its location in the file system; accessing one of the replicas for performing a write operation thereby making an update to the replica; and after the update is made, propagating the update to the other replicas in two phases by sending a harbinger for the update along the graph to the other computer nodes that store the replicas in a first phase, the harbinger being other than the update, and, in response to the harbinger, receiving a request for the update from one or more of the other computer nodes in a second phase, wherein the indication for each replica comprises a directory identifier and file name for the replica, wherein the update comprises a delta that describes a change to a portion of the file, and wherein the harbinger includes a timestamp corresponding to the update.