diff options
-rw-r--r-- | Assistant/Threads/Committer.hs | 4 | ||||
-rw-r--r-- | Logs/Transfer.hs | 8 | ||||
-rw-r--r-- | Remote/Hook.hs | 8 |
3 files changed, 10 insertions, 10 deletions
diff --git a/Assistant/Threads/Committer.hs b/Assistant/Threads/Committer.hs index 6b036d09a..7c34f7a93 100644 --- a/Assistant/Threads/Committer.hs +++ b/Assistant/Threads/Committer.hs @@ -173,12 +173,12 @@ handleAdds delayadd st changechan transferqueue dstatus cs = returnWhen (null in (incomplete, otherchanges) = partition (\c -> isPendingAddChange c || isInProcessAddChange c) cs findnew [] = return [] - findnew pending = do + findnew pending@(exemplar:_) = do (!newfiles, cleanup) <- runThreadState st $ inRepo (Git.LsFiles.notInRepo False $ map changeFile pending) void cleanup -- note: timestamp info is lost here - let ts = changeTime (pending !! 0) + let ts = changeTime exemplar return $ map (PendingAddChange ts) newfiles returnWhen c a diff --git a/Logs/Transfer.hs b/Logs/Transfer.hs index 3b68eeeb7..e9922422f 100644 --- a/Logs/Transfer.hs +++ b/Logs/Transfer.hs @@ -296,11 +296,11 @@ readTransferInfo mpid s = TransferInfo bits = split " " firstline numbits = length bits time = if numbits > 0 - then Just <$> parsePOSIXTime (bits !! 0) - else pure Nothing + then Just <$> parsePOSIXTime =<< headMaybe bits + else pure Nothing -- not failure bytes = if numbits > 1 - then Just <$> readish (bits !! 1) - else pure Nothing + then Just <$> readish =<< headMaybe (drop 1 bits) + else pure Nothing -- not failure parsePOSIXTime :: String -> Maybe POSIXTime parsePOSIXTime s = utcTimeToPOSIXSeconds diff --git a/Remote/Hook.hs b/Remote/Hook.hs index 716a81835..f97e110d8 100644 --- a/Remote/Hook.hs +++ b/Remote/Hook.hs @@ -69,10 +69,10 @@ hookEnv k f = Just <$> mergeenv (fileenv f ++ keyenv) M.union (M.fromList l) <$> M.fromList <$> getEnvironment env s v = ("ANNEX_" ++ s, v) - keyenv = - [ env "KEY" (key2file k) - , env "HASH_1" (hashbits !! 0) - , env "HASH_2" (hashbits !! 1) + keyenv = catMaybes + [ Just $ env "KEY" (key2file k) + , env "HASH_1" <$> headMaybe hashbits + , env "HASH_2" <$> headMaybe (drop 1 hashbits) ] fileenv Nothing = [] fileenv (Just file) = [env "FILE" file] |