summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2015-09-22 15:31:08 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2015-09-22 15:31:08 -0400
commit871db082e0572abb9f27a62e95c4b8b59de31fea (patch)
tree2bd8a53a98b96bcf091bed57c8f571691e380eca
parent4ba080e8741a38af9d8411310955219c17afa4d9 (diff)
new todo
-rw-r--r--doc/bugs/present_files__47__directories_are_dropped_after_a_sync/comment_4_68bd50c6aeffc06d53eda7f38b06edee._comment7
-rw-r--r--doc/todo/deferred_update_mode.mdwn28
2 files changed, 35 insertions, 0 deletions
diff --git a/doc/bugs/present_files__47__directories_are_dropped_after_a_sync/comment_4_68bd50c6aeffc06d53eda7f38b06edee._comment b/doc/bugs/present_files__47__directories_are_dropped_after_a_sync/comment_4_68bd50c6aeffc06d53eda7f38b06edee._comment
new file mode 100644
index 000000000..2b35b662d
--- /dev/null
+++ b/doc/bugs/present_files__47__directories_are_dropped_after_a_sync/comment_4_68bd50c6aeffc06d53eda7f38b06edee._comment
@@ -0,0 +1,7 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 4"""
+ date="2015-09-22T19:18:09Z"
+ content="""
+Broke part out into [[todo/deferred_update_mode]]
+"""]]
diff --git a/doc/todo/deferred_update_mode.mdwn b/doc/todo/deferred_update_mode.mdwn
new file mode 100644
index 000000000..9eef53615
--- /dev/null
+++ b/doc/todo/deferred_update_mode.mdwn
@@ -0,0 +1,28 @@
+`git annex sync` and the assistant do a merge of new revs, and then
+download the content of files. However, this means that broken links can
+show up, when a file has changed, or a new file was added. In some
+workflows, the user would prefer not to ever see such broken links
+(or at least never for files that are in the repo's preferred content).
+
+So, how about a new mode, that defers updating the work tree until
+the content of everything wanted is available?
+
+This could be a annex.merge=downloadfirst setting; it would make sync/assistant
+look at the diff between HEAD and the new rev, and try to get all annexed files
+added in that diff, before merging it.
+
+Of course, it could take a long time to get to see a new work tree.
+Might have to download a lot of content.
+
+What to do if it fails to download a file's content? Could either
+abort, leaving the current work tree as-is, or could go ahead and merge,
+letting broken links show up in this case. I kind of prefer the abort
+option. But, if the content never reaches any remote, or has gone missing
+entirely, that would make sync never succeed. That could be surprising
+behavior.
+
+Probably best to let the user pick either behavior, so
+annex.merge=trydownloadfirst and annex.merge=reqdownloadfirst
+
+Let `git annex merge` be used to force a merge, even when content is not
+available.