Hi, Base on the discussion on Database reconciliation, I think it would be nice to discuss the roadmap. I'm starting a new thread to keep things a little be organized.
Based on what I see in the code and on what happened to Joey when he worked on git-annex, I would advise to proceed as follows. Firstly, I think the real time file watching is going to be a massive mess. Joey had dozens of problem when he implemented that in git-annex, with race conditions everywhere to begin with. It seems that others (http://www.mayrhofer.eu.org/dvcs-autosync for instance) had similar problems. I'm also confident that the real time notification will prove to be messy. For instance, think about S3 which does only guarantee ultimate consistency: when you advertise a new upload on S3, you have almost no guarantee another client will be able to download it right now and this can break in several ways (the delta file is not available or some multichunks are missing). So I would postpone this part to another release. And then my primary goal would be to release a command line client with manual syncing and have it tested by as many volunteers as possible. This would be release 0.1 with no commitment on the file storage format. This last part has to be super clear because you don't want to have to produce transition techniques from one format to another. Then 0.2 target might be to simplify the code which is still very complex mostly in the database area. So only bug fixing and code simplification. In particular the database representation (sql storage and so on) should be done in this part. If this goes well, I would try to implement a better reconciliation strategy at this point, based on simpler and easier to use data structures. In 0.3 I would target the real time thing. In my opinion, the GUI stuff can wait ;-) What do you think? Best regards, Fabrice -- Mailing list: https://launchpad.net/~syncany-team Post to : [email protected] Unsubscribe : https://launchpad.net/~syncany-team More help : https://help.launchpad.net/ListHelp

