summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2012-10-21 00:34:48 -0400
committerGravatar Joey Hess <joey@kitenet.net>2012-10-21 00:51:42 -0400
commitb3431cb37b5b7aff11ce9a25102bf5446b59a18c (patch)
treeb447b0055ab5dc30951f6fcf443eded468781e03
parent10298ba18f004ccf528ebc3ea4ec8475899fb095 (diff)
!! removal
-rw-r--r--Assistant/Threads/Committer.hs4
-rw-r--r--Logs/Transfer.hs8
-rw-r--r--Remote/Hook.hs8
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]