Support filenames that start with a dash; when such a file is passed to a utility it will be escaped to avoid it being interpreted as an option.
This commit is contained in:
parent
e61b47bc8a
commit
836e71297b
9 changed files with 29 additions and 10 deletions
|
@ -20,6 +20,7 @@ import qualified Annex
|
|||
import Locations
|
||||
import Content
|
||||
import Types
|
||||
import Utility
|
||||
|
||||
backend :: Backend Annex
|
||||
backend = Backend.File.backend {
|
||||
|
@ -31,7 +32,7 @@ backend = Backend.File.backend {
|
|||
sha1 :: FilePath -> Annex String
|
||||
sha1 file = do
|
||||
showNote "checksum..."
|
||||
liftIO $ pOpen ReadFromPipe "sha1sum" [file] $ \h -> do
|
||||
liftIO $ pOpen ReadFromPipe "sha1sum" [utilityEscape file] $ \h -> do
|
||||
line <- hGetLine h
|
||||
let bits = split " " line
|
||||
if null bits
|
||||
|
|
|
@ -51,6 +51,6 @@ downloadUrl :: Key -> FilePath -> Annex Bool
|
|||
downloadUrl key file = do
|
||||
showNote "downloading"
|
||||
showProgress -- make way for curl progress bar
|
||||
liftIO $ boolSystem "curl" ["-#", "-o", file, url]
|
||||
liftIO $ boolSystem "curl" ["-#", "-o", utilityEscape file, url]
|
||||
where
|
||||
url = join ":" $ drop 1 $ split ":" $ show key
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue