-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Automatic codebase backup #60
Comments
The CRDT data model used for sync is in the process of being completely replaced (the sync errors are mostly due to the buggy model we're using now. Traditional deltas applied to a tarball wouldn't converge, but the idea of "snapshot" backups is sound. I'll keep this in mind for the next iteration. |
The deltas could instead be saved as a zip file containing a specific format:
We could also use a more specific syntax for the files within The delta types are better described in these logs I extracted from IRC:
If you prefer, I may just implement myself a simple library to deal with CST delta conditions, and upload it to npm. |
You're welcome to try and patch this version of Multihack, but I'm more interested in solving the issues in the underlying CRDT and editor bindings so we don't lose data or get desyncs at all. This was a first attempt at realtime collab, so there's some glaring design flaws in my approach here (I knew very little about CRDTs or even the Brackets extension API when this was written). Everything is in the process of a ground-up redesign. |
Summary
I request an important, and useful, feature, which would allow Multihack users to quickly restore files lost by the synchronizer (which happens quite commonly, to be honest): automatic backup creation.
Description
This feature would be capable of automatically creating a backup of a project's changes (or the whole project itself) everytime a change is made to a file. This backup would likely be a compressed tarball, with additional metadata (to describe the project and room name, for identification), and would be saved in a Multihack-specific folder (such as
%APPDATA%\Multihack
on Windows, or~/.multihack
on Unix).If the backups are deltas, one can simply use an initial state tar, load it to a temporary folder, and apply the deltas to the folder, one by one, until we reach the desired backup state.
This would make the plugin more productive (and usable), since the loss of a file would be not but a small nuisance, instead of a worrisome event.
Versions
The text was updated successfully, but these errors were encountered: