aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Remote/Directory.hs16
-rw-r--r--debian/changelog6
-rw-r--r--doc/bugs/Watcher_crashed:_addWatch:_does_not_exist.mdwn2
-rw-r--r--doc/bugs/git_annex_webapp_--listen_on_a_remote_linux_server.mdwn2
-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