export: Avoid unncessarily re-exporting non-annexed files that were already exported
Commit b6e4ed9aa7
made non-annexed files
be re-uploaded every time, since they're not tracked in the location log,
and it made it check the location log. Don't do that for non-annexed files.
Sponsored-by: Brock Spratlen on Patreon
This commit is contained in:
parent
05d79b26d8
commit
567f63ba47
4 changed files with 31 additions and 5 deletions
|
@ -4,6 +4,8 @@ git-annex (8.20211124) UNRELEASED; urgency=medium
|
|||
* addurl, youtube-dl: When --check-raw prevents downloading an url,
|
||||
still continue with any downloads that come after it, rather than
|
||||
erroring out.
|
||||
* export: Avoid unncessarily re-exporting non-annexed files that were
|
||||
already exported.
|
||||
|
||||
-- Joey Hess <id@joeyh.name> Tue, 23 Nov 2021 15:58:27 -0400
|
||||
|
||||
|
|
|
@ -275,11 +275,20 @@ startExport r db cvar allfilledvar ti = do
|
|||
af = AssociatedFile (Just f)
|
||||
ai = ActionItemTreeFile f
|
||||
si = SeekInput []
|
||||
notrecordedpresent ek = (||)
|
||||
<$> liftIO (notElem loc <$> getExportedLocation db ek)
|
||||
-- If content was removed from the remote, the export db
|
||||
-- will still list it, so also check location tracking.
|
||||
<*> (notElem (uuid r) <$> loggedLocations ek)
|
||||
notrecordedpresent ek =
|
||||
ifM (liftIO $ notElem loc <$> getExportedLocation db ek)
|
||||
( return True
|
||||
-- When content was lost from the remote and
|
||||
-- a fsck noticed that, the export db will still
|
||||
-- list it as present in the remote. So also check
|
||||
-- location tracking.
|
||||
-- However, git sha keys do not have their locations
|
||||
-- tracked, and fsck doesn't check them, so not
|
||||
-- for those.
|
||||
, if isGitShaKey ek
|
||||
then return False
|
||||
else notElem (uuid r) <$> loggedLocations ek
|
||||
)
|
||||
|
||||
performExport :: Remote -> ExportHandle -> Key -> AssociatedFile -> Sha -> ExportLocation -> MVar AllFilled -> CommandPerform
|
||||
performExport r db ek af contentsha loc allfilledvar = do
|
||||
|
|
|
@ -27,3 +27,4 @@ git annex from Debian :
|
|||
### Have you had any luck using git-annex before? (Sometimes we get tired of reading bug reports all day and a lil' positive end note does wonders)
|
||||
It’s only a bug on what git-annex display. It does the asked work: the file are correctly exported where I look for them.
|
||||
|
||||
> [[fixed|done]] --[[Joey]]
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
[[!comment format=mdwn
|
||||
username="joey"
|
||||
subject="""comment 1"""
|
||||
date="2021-11-29T17:32:33Z"
|
||||
content="""
|
||||
I think that the most likely reason for this to happen is if the
|
||||
particular file is not checked into git-annex, but into git.
|
||||
|
||||
Since files stored in git are small, re-uploading them is not likely to be
|
||||
very expensive.
|
||||
|
||||
However, I found a way to prevent it doing so. So this is fixed assuming
|
||||
I guessed right about the cause of it for you.
|
||||
"""]]
|
Loading…
Add table
Reference in a new issue