clean up url removal presence update
* rmurl: Fix a case where removing the last url left git-annex thinking content was still present in the web special remote. * SETURLPRESENT, SETURIPRESENT, SETURLMISSING, and SETURIMISSING used to update the presence information of the external special remote that called them; this was not documented behavior and is no longer done. Done by making setUrlPresent and setUrlMissing only update presence info for the web, and only when the url is a web url. See the comment for reasoning about why that's the right thing to do. In AddUrl, had to make it update location tracking, to handle the non-web-url case. This commit was sponsored by Ewen McNeill on Patreon.
This commit is contained in:
parent
ca66e7b66a
commit
451171b7c1
14 changed files with 77 additions and 26 deletions
|
@ -233,7 +233,8 @@ addUrlChecked o url file u checkexistssize key =
|
|||
(exists, samesize, url') <- checkexistssize key
|
||||
if exists && (samesize || relaxedOption (downloadOptions o))
|
||||
then do
|
||||
setUrlPresent u key url'
|
||||
setUrlPresent key url'
|
||||
logChange key u InfoPresent
|
||||
next $ return True
|
||||
else do
|
||||
warning $ "while adding a new url to an already annexed file, " ++ if exists
|
||||
|
@ -397,7 +398,8 @@ addWorkTree u url file key mtmp = case mtmp of
|
|||
where
|
||||
go = do
|
||||
maybeShowJSON $ JSONChunk [("key", key2file key)]
|
||||
setUrlPresent u key url
|
||||
setUrlPresent key url
|
||||
logChange key u InfoPresent
|
||||
ifM (addAnnexedFile file key mtmp)
|
||||
( do
|
||||
when (isJust mtmp) $
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue