summaryrefslogtreecommitdiff
path: root/doc/bugs/add_-J_fails_with_not_found/comment_1_daf1f53ac77f664ca0ce572c1bdc45ee._comment
diff options
context:
space:
mode:
Diffstat (limited to 'doc/bugs/add_-J_fails_with_not_found/comment_1_daf1f53ac77f664ca0ce572c1bdc45ee._comment')
-rw-r--r--doc/bugs/add_-J_fails_with_not_found/comment_1_daf1f53ac77f664ca0ce572c1bdc45ee._comment31
1 files changed, 31 insertions, 0 deletions
diff --git a/doc/bugs/add_-J_fails_with_not_found/comment_1_daf1f53ac77f664ca0ce572c1bdc45ee._comment b/doc/bugs/add_-J_fails_with_not_found/comment_1_daf1f53ac77f664ca0ce572c1bdc45ee._comment
new file mode 100644
index 000000000..078d14b6a
--- /dev/null
+++ b/doc/bugs/add_-J_fails_with_not_found/comment_1_daf1f53ac77f664ca0ce572c1bdc45ee._comment
@@ -0,0 +1,31 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 1"""
+ date="2017-10-16T16:08:18Z"
+ content="""
+The "<file> not found" error message comes from
+CmdLine.Seek.checkFileOrDirectoryExists, which is intended to catch
+git-annex being run with a parameter that does not exist on disk and let
+the user know about their mistake.
+
+Seems like that that's being called from withFilesOldUnlocked,
+or withFilesMaybeModified. Both of which Command.Add
+calls after withFilesNotInGit.
+
+With -J, I suppose there could be worker threads still running
+to ingest withFilesNotInGit when it moves on to
+withFilesOldUnlocked.
+
+There is a window during file ingestion where the file has been
+removed from the working tree and the annex symlink has not been
+created yet. Probably that is triggering checkFileOrDirectoryExists.
+Although I'd expect that window to be small, so it's somewhat surprising
+that yoh could reproduce this problem multiple times.
+
+The problem could be fixed in several different ways. Could wait for
+worker threads to finish before moving on to the next `with*` seek.
+Could make checkFileOrDirectoryExists only be run once, rather than 3
+times in `git annex add` (which is surely unncessary work..). Or could
+try to eliminate the window where the file is not present in the working
+tree. It may be worth doing several of those.
+"""]]