summaryrefslogtreecommitdiff
path: root/doc/todo
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2017-09-18 13:57:25 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2017-09-18 13:59:59 -0400
commita5e968bb8d4c608c33463160ea2b583a3e34b8fc (patch)
treeffd59e071fadf718ed4f270d2cf2b67fda9b6315 /doc/todo
parent9d2ac4d87dc98bd2ab60da38a7e98f0964fd1595 (diff)
add ExportTree table to export db
New table needed to look up what filenames are used in the currently exported tree, for reasons explained in export.mdwn. Also, added smart constructors for ExportLocation and ExportDirectory to make sure they contain filepaths with the right direction slashes. And some code refactoring. This commit was sponsored by Francois Marier on Patreon.
Diffstat (limited to 'doc/todo')
-rw-r--r--doc/todo/export.mdwn24
1 files changed, 18 insertions, 6 deletions
diff --git a/doc/todo/export.mdwn b/doc/todo/export.mdwn
index f23ed6866..3ddca0cf8 100644
--- a/doc/todo/export.mdwn
+++ b/doc/todo/export.mdwn
@@ -26,18 +26,30 @@ Work is in progress. Todo list:
export database is not populated. So, seems that the export database needs
to get populated based on the export log in these cases.
- This needs a (local) record of what tree the (local) export db
- was last updated for, which is updated at the same time as the export log.
- One way to record that would be as a git ref.
+ This needs the db to contain a record of the data source,
+ the tree that most recently populated it.
- When the export log contains a different tree than the local
- record, the export was updated in another repository, and so the
+ When the export log contains a different tree than the data source,
+ the export was updated in another repository, and so the
export db needs to be updated.
- Updating the export db could diff the last exported treeish with the
+ Updating the export db could diff the data source with the
logged treeish. Add/delete exported files from the database to get
it to the same state as the remote database.
+ When an export is incomplete, the database is in some
+ state in between the data source tree and the incompletely
+ exported tree. Diffing won't resolve this.
+
+ When to record the data source? If it's done at the same time the export
+ is recorded (as no longer incomplete) in the export log, all the files
+ have not yet been uploaded to the export, and the the database is not
+ fully updated to match the data source.
+
+ Seems that we need a separate table, to be able to look up filenames
+ from the export tree by key. That table can be fully populated,
+ before the Exported table is.
+
* tracking exports
* Support configuring export in the assistant