adding steps to the design
authorEduardo Robles Elvira <edulix@wadobo.com>
Fri, 26 Jul 2013 16:25:22 +0000 (18:25 +0200)
committerEduardo Robles Elvira <edulix@wadobo.com>
Fri, 26 Jul 2013 16:25:22 +0000 (18:25 +0200)
docs/design.py

index 331eef0..3f7027f 100644 (file)
@@ -202,3 +202,51 @@ class TestDeltaTar(UnitTest):
                 "/var/backups/backup-2013-07-22-1400/bfull-2013-07-22-1400.index",
                 "/var/backups/backup-2013-07-22-0200/bfull-2013-07-22-0200.index"
             ])
+
+'''
+
+
+Each step will include a comprehensive list of unit tests for the developed
+features, pydoc documentation and email updates/reviews.
+
+1. Initial simple implementation of full backup (4 hours)
+
+ * It must be able to create a full backup and restore it.
+ * It will create the file index but will only use backup_tar_path option to
+   restore (no index).
+ * It will support the options: mode, password, index_encrypted,
+   index_name_func, volume_name_func, max_volume_size. The other options will be
+   ignored.
+
+2. Restore from file index a full backup (3 hours)
+
+ * It'll be able to read a file index and restore a backup from it.
+ * It'll also support the logger option.
+
+3. Include and exclude filters (3 hours)
+
+ * It'll support the include_files, exclude_files and filter_func for both
+   creating and restoring full backups.
+
+4. Create diff backup (5 hours)
+
+ * It'll support to create a diff backup upon an existing full backup. This will
+   be implemented in a performant way, we'll take a look at duplicity for ideas.
+ * It'll be able to restore a diff backup without using the index, just applying
+   the delta-tar.
+
+5. Restore diff backup (6 hours)
+
+ * It'll be able to restore a diff backup using the index, applying an efficient
+   restore algorithm.
+
+6. Polishing and corner cases (7 hours)
+
+ * Review the existing features looking for possible bugs. Implement missing
+   corner cases and unit tests, for example support for diff backup chains.
+ * Benchmark agains other tools like duplicity in different scenarios to check
+   that our performance is good.
+
+Total estimation: 29 hours
+
+'''
\ No newline at end of file