diff options
-rw-r--r-- | Remote/Directory.hs | 16 | ||||
-rw-r--r-- | debian/changelog | 6 | ||||
-rw-r--r-- | doc/bugs/Watcher_crashed:_addWatch:_does_not_exist.mdwn | 2 | ||||
-rw-r--r-- | doc/bugs/git_annex_webapp_--listen_on_a_remote_linux_server.mdwn | 2 | ||||
-rw-r--r-- | doc/logo-old-bw.svg (renamed from doc/logo-bw-old.svg) | 0 |
5 files changed, 18 insertions, 8 deletions
diff --git a/Remote/Directory.hs b/Remote/Directory.hs index c960bb1b4..6a687952a 100644 --- a/Remote/Directory.hs +++ b/Remote/Directory.hs @@ -118,7 +118,7 @@ withStoredFiles = withCheckedFiles doesFileExist store :: FilePath -> ChunkSize -> Key -> AssociatedFile -> MeterUpdate -> Annex Bool store d chunksize k _f p = sendAnnex k (void $ remove d k) $ \src -> metered (Just p) k $ \meterupdate -> - storeHelper d chunksize k $ \dests -> + storeHelper d chunksize k k $ \dests -> case chunksize of Nothing -> do let dest = Prelude.head dests @@ -132,7 +132,7 @@ store d chunksize k _f p = sendAnnex k (void $ remove d k) $ \src -> storeEncrypted :: FilePath -> GpgOpts -> ChunkSize -> (Cipher, Key) -> Key -> MeterUpdate -> Annex Bool storeEncrypted d gpgOpts chunksize (cipher, enck) k p = sendAnnex k (void $ remove d enck) $ \src -> metered (Just p) k $ \meterupdate -> - storeHelper d chunksize enck $ \dests -> + storeHelper d chunksize enck k $ \dests -> encrypt gpgOpts cipher (feedFile src) $ readBytes $ \b -> case chunksize of Nothing -> do @@ -173,17 +173,17 @@ storeSplit' meterupdate chunksize (d:dests) bs c = do feed bytes' (sz - s) ls h else return (l:ls) -storeHelper :: FilePath -> ChunkSize -> Key -> ([FilePath] -> IO [FilePath]) -> Annex Bool -storeHelper d chunksize key storer = check <&&> go +storeHelper :: FilePath -> ChunkSize -> Key -> Key -> ([FilePath] -> IO [FilePath]) -> Annex Bool +storeHelper d chunksize key origkey storer = check <&&> go where tmpdir = tmpDir d key destdir = storeDir d key - {- The size is not exactly known when encrypting the key; - - this assumes that at least the size of the key is - - needed as free space. -} + {- An encrypted key does not have a known size, + - so check that the size of the original key is available as free + - space. -} check = do liftIO $ createDirectoryIfMissing True tmpdir - checkDiskSpace (Just tmpdir) key 0 + checkDiskSpace (Just tmpdir) origkey 0 go = liftIO $ catchBoolIO $ storeChunks key tmpdir destdir chunksize storer recorder finalizer finalizer tmp dest = do diff --git a/debian/changelog b/debian/changelog index 1a484ac67..cc5ec7d67 100644 --- a/debian/changelog +++ b/debian/changelog @@ -16,6 +16,12 @@ git-annex (4.20130710) UNRELEASED; urgency=low * Display byte sizes with more precision. * New improved version of the git-annex logo, contributed by John Lawrence. + * watcher: Fixed a crash that could occur when a directory was renamed + or deleted before it could be scanned. + * watcher: Partially worked around a bug in hinotify, no longer crashes + if hinotify cannot process a directory (but can't detect changes in it) + * directory special remote: Fix checking that there is enough disk space + to hold an object, was broken when using encryption. -- Joey Hess <joeyh@debian.org> Tue, 09 Jul 2013 19:17:13 -0400 diff --git a/doc/bugs/Watcher_crashed:_addWatch:_does_not_exist.mdwn b/doc/bugs/Watcher_crashed:_addWatch:_does_not_exist.mdwn index 06a97ec5e..f798fe2ea 100644 --- a/doc/bugs/Watcher_crashed:_addWatch:_does_not_exist.mdwn +++ b/doc/bugs/Watcher_crashed:_addWatch:_does_not_exist.mdwn @@ -21,3 +21,5 @@ Watcher crashed: addWatch: does not exist (No such file or directory) # End of transcript or log. """]] + +> [[done]]; see my comment --[[Joey]] diff --git a/doc/bugs/git_annex_webapp_--listen_on_a_remote_linux_server.mdwn b/doc/bugs/git_annex_webapp_--listen_on_a_remote_linux_server.mdwn index 15ae8017e..f40fabd74 100644 --- a/doc/bugs/git_annex_webapp_--listen_on_a_remote_linux_server.mdwn +++ b/doc/bugs/git_annex_webapp_--listen_on_a_remote_linux_server.mdwn @@ -46,3 +46,5 @@ WebApp crashed: unable to bind to local socket # End of transcript or log. """]] + +> Duplicate; [[closed|done]]. --[[Joey]] diff --git a/doc/logo-bw-old.svg b/doc/logo-old-bw.svg index 11d362e5f..11d362e5f 100644 --- a/doc/logo-bw-old.svg +++ b/doc/logo-old-bw.svg |