aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2013-03-17 17:01:43 -0400
committerGravatar Joey Hess <joey@kitenet.net>2013-03-17 17:01:43 -0400
commitc125cd9815c7ea5d13473dbc0253c02f0a9baf23 (patch)
tree1d0d0ae392526318d6367d54d7a90ad9ec598f48
parent423c3926b7fe6f9e03ac3f381be5de1f1f71e665 (diff)
assistant: Fix OSX bug that prevented committing changed files to a repository when in indirect mode.
-rw-r--r--Assistant/Threads/Committer.hs2
-rw-r--r--Utility/DirWatcher.hs4
-rw-r--r--debian/changelog2
-rw-r--r--doc/bugs/Assistant_does_not_actually_check_newly_annex-added_files_into_git_until_daily_sanity_check.mdwn6
4 files changed, 11 insertions, 3 deletions
diff --git a/Assistant/Threads/Committer.hs b/Assistant/Threads/Committer.hs
index 08d34dd06..46d77db92 100644
--- a/Assistant/Threads/Committer.hs
+++ b/Assistant/Threads/Committer.hs
@@ -317,7 +317,7 @@ handleAdds delayadd cs = returnWhen (null incomplete) $ do
)
whenM (pure DirWatcher.eventsCoalesce <||> isDirect) $ do
stageSymlink file =<< hashSymlink link
- showEndOk
+ showEndOk
return $ Just $ finishedChange change key
{- Check that the keysource's keyFilename still exists,
diff --git a/Utility/DirWatcher.hs b/Utility/DirWatcher.hs
index d038f59ac..d28381fae 100644
--- a/Utility/DirWatcher.hs
+++ b/Utility/DirWatcher.hs
@@ -47,10 +47,10 @@ canWatch = False
- OTOH, with kqueue, often only one event is received, indicating the most
- recent state of the file. -}
eventsCoalesce :: Bool
-#if (WITH_INOTIFY || WITH_FSEVENTS)
+#if WITH_INOTIFY
eventsCoalesce = False
#else
-#if WITH_KQUEUE
+#if (WITH_KQUEUE || WITH_FSEVENTS)
eventsCoalesce = True
#else
eventsCoalesce = undefined
diff --git a/debian/changelog b/debian/changelog
index b79be5309..d80ea4acf 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -19,6 +19,8 @@ git-annex (4.20130315) UNRELEASED; urgency=low
* webapp: Switch all forms to POST.
* assistant: Avoid syncing with annex-ignored remotes when reconnecting
to the network, or connecting a drive.
+ * assistant: Fix OSX bug that prevented committing changed files to a
+ repository when in indirect mode.
-- Joey Hess <joeyh@debian.org> Fri, 15 Mar 2013 00:10:07 -0400
diff --git a/doc/bugs/Assistant_does_not_actually_check_newly_annex-added_files_into_git_until_daily_sanity_check.mdwn b/doc/bugs/Assistant_does_not_actually_check_newly_annex-added_files_into_git_until_daily_sanity_check.mdwn
index 149f63c56..d4f58b44d 100644
--- a/doc/bugs/Assistant_does_not_actually_check_newly_annex-added_files_into_git_until_daily_sanity_check.mdwn
+++ b/doc/bugs/Assistant_does_not_actually_check_newly_annex-added_files_into_git_until_daily_sanity_check.mdwn
@@ -98,3 +98,9 @@ Here it is on a newly-created, empty repo:
add bar [2013-03-13 09:31:51 EDT] chat: git ["--git-dir=/Users/ed/testannex/.git","--work-tree=/Users/ed/testannex","check-attr","-z","--stdin","annex.backend","annex.numcopies","--"]
(checksum...) [2013-03-13 09:31:51 EDT] chat: git ["--git-dir=/Users/ed/testannex/.git","--work-tree=/Users/ed/testannex","cat-file","--batch"]
+> This bug affected OSX when indirect mode repositories were used.
+> Direct mode repositories were ok.
+> I expected to get an event from fsevents when I made the symlink,
+> and this event is not arriving (or at least not always). Switched
+> the code to use the same method for fsevents as for kqueue and that fixed
+> it. [[done]] --[[Joey]]