addurl: Refuse to overwrite any existing, non-annexed file.
This commit is contained in:
parent
b52cf5697b
commit
1d1cb16fe0
3 changed files with 14 additions and 0 deletions
|
@ -259,6 +259,7 @@ performQuvi relaxed pageurl videourl file = ifAnnexed file addurl geturl
|
||||||
#ifdef WITH_QUVI
|
#ifdef WITH_QUVI
|
||||||
addUrlFileQuvi :: Bool -> URLString -> URLString -> FilePath -> Annex (Maybe Key)
|
addUrlFileQuvi :: Bool -> URLString -> URLString -> FilePath -> Annex (Maybe Key)
|
||||||
addUrlFileQuvi relaxed quviurl videourl file = do
|
addUrlFileQuvi relaxed quviurl videourl file = do
|
||||||
|
checkDoesNotExist file
|
||||||
let key = Backend.URL.fromUrl quviurl Nothing
|
let key = Backend.URL.fromUrl quviurl Nothing
|
||||||
ifM (pure relaxed <||> Annex.getState Annex.fast)
|
ifM (pure relaxed <||> Annex.getState Annex.fast)
|
||||||
( do
|
( do
|
||||||
|
@ -309,12 +310,19 @@ addUrlChecked relaxed url u checkexistssize key
|
||||||
|
|
||||||
addUrlFile :: Bool -> URLString -> Url.UrlInfo -> FilePath -> Annex (Maybe Key)
|
addUrlFile :: Bool -> URLString -> Url.UrlInfo -> FilePath -> Annex (Maybe Key)
|
||||||
addUrlFile relaxed url urlinfo file = do
|
addUrlFile relaxed url urlinfo file = do
|
||||||
|
checkDoesNotExist file
|
||||||
liftIO $ createDirectoryIfMissing True (parentDir file)
|
liftIO $ createDirectoryIfMissing True (parentDir file)
|
||||||
ifM (Annex.getState Annex.fast <||> pure relaxed)
|
ifM (Annex.getState Annex.fast <||> pure relaxed)
|
||||||
( nodownload url urlinfo file
|
( nodownload url urlinfo file
|
||||||
, downloadWeb url urlinfo file
|
, downloadWeb url urlinfo file
|
||||||
)
|
)
|
||||||
|
|
||||||
|
checkDoesNotExist :: FilePath -> Annex ()
|
||||||
|
checkDoesNotExist file = go =<< liftIO (catchMaybeIO $ getSymbolicLinkStatus file)
|
||||||
|
where
|
||||||
|
go Nothing = return ()
|
||||||
|
go (Just _) = error $ file ++ " already exists and is not annexed; not overwriting"
|
||||||
|
|
||||||
downloadWeb :: URLString -> Url.UrlInfo -> FilePath -> Annex (Maybe Key)
|
downloadWeb :: URLString -> Url.UrlInfo -> FilePath -> Annex (Maybe Key)
|
||||||
downloadWeb url urlinfo file = do
|
downloadWeb url urlinfo file = do
|
||||||
let dummykey = addSizeUrlKey urlinfo $ Backend.URL.fromUrl url Nothing
|
let dummykey = addSizeUrlKey urlinfo $ Backend.URL.fromUrl url Nothing
|
||||||
|
|
1
debian/changelog
vendored
1
debian/changelog
vendored
|
@ -35,6 +35,7 @@ git-annex (6.20151219) UNRELEASED; urgency=medium
|
||||||
modified the same as typechanged files.
|
modified the same as typechanged files.
|
||||||
* addurl: Added --batch and --with-files options.
|
* addurl: Added --batch and --with-files options.
|
||||||
* addurl: Support --json, particularly useful in --batch mode.
|
* addurl: Support --json, particularly useful in --batch mode.
|
||||||
|
* addurl: Refuse to overwrite any existing, non-annexed file.
|
||||||
* Debian: Adjust build dependencies for webapp, DAV. Now available on
|
* Debian: Adjust build dependencies for webapp, DAV. Now available on
|
||||||
mips, mipsel, but temporarily removed armel since build is failing
|
mips, mipsel, but temporarily removed armel since build is failing
|
||||||
there.
|
there.
|
||||||
|
|
|
@ -25,3 +25,8 @@ git-annex version: 6.20160104+gitg0cf96be-1~ndall+1
|
||||||
"""]
|
"""]
|
||||||
|
|
||||||
[[!meta author=yoh]]
|
[[!meta author=yoh]]
|
||||||
|
|
||||||
|
> I don't think that the re-download is the bug. The actual problem
|
||||||
|
> is that the file is present and not an annexed file, so git-annex addurl
|
||||||
|
> should avoid overwriting it, whatever its content. [[fixed|done]]
|
||||||
|
> --[[Joey]]
|
||||||
|
|
Loading…
Add table
Reference in a new issue