Put non-object tmp files in .git/annex/misctmp, leaving .git/annex/tmp for only partially transferred objects.
This allows eg, putting .git/annex/tmp on a ram disk, if the disk IO of temp object files is too annoying (and if you don't want to keep partially transferred objects across reboots). .git/annex/misctmp must be on the same filesystem as the git work tree, since files are moved to there in a way that will not work cross-device, as well as symlinked into there. I first wanted to put the tmp objects in .git/annex/objects/tmp, but that would pose transition problems on upgrade when partially transferred objects existed. git annex info does not currently show the size of .git/annex/misctemp, since it should stay small. It would also be ok to make something clean it out, periodically.
This commit is contained in:
parent
a19ad12018
commit
a1432bce2f
18 changed files with 35 additions and 28 deletions
|
@ -27,7 +27,7 @@ seek ps = do
|
|||
withUnusedMaps (start numcopies) ps
|
||||
|
||||
start :: NumCopies -> UnusedMaps -> Int -> CommandStart
|
||||
start numcopies = startUnused "dropunused" (perform numcopies) (performOther gitAnnexBadLocation) (performOther gitAnnexTmpLocation)
|
||||
start numcopies = startUnused "dropunused" (perform numcopies) (performOther gitAnnexBadLocation) (performOther gitAnnexTmpObjectLocation)
|
||||
|
||||
perform :: NumCopies -> Key -> CommandPerform
|
||||
perform numcopies key = maybe droplocal dropremote =<< Remote.byNameWithUUID =<< from
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue