diff options
author | Joey Hess <joeyh@joeyh.name> | 2015-12-27 15:59:59 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2015-12-27 15:59:59 -0400 |
commit | 60c88820987596809091ee010e6be2a083888bc8 (patch) | |
tree | dc2540c6deadfcf3efee1fd95948bcbd6f219db5 /Command/Unlock.hs | |
parent | 17490f3685aee698e10555c5dc3e915a317c2250 (diff) |
annex.thin
Decided it's too scary to make v6 unlocked files have 1 copy by default,
but that should be available to those who need it. This is consistent with
git-annex not dropping unused content without --force, etc.
* Added annex.thin setting, which makes unlocked files in v6 repositories
be hard linked to their content, instead of a copy. This saves disk
space but means any modification of an unlocked file will lose the local
(and possibly only) copy of the old version.
* Enable annex.thin by default on upgrade from direct mode to v6, since
direct mode made the same tradeoff.
* fix: Adjusts unlocked files as configured by annex.thin.
Diffstat (limited to 'Command/Unlock.hs')
-rw-r--r-- | Command/Unlock.hs | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/Command/Unlock.hs b/Command/Unlock.hs index b82f78096..bef800840 100644 --- a/Command/Unlock.hs +++ b/Command/Unlock.hs @@ -14,8 +14,6 @@ import Annex.CatFile import Annex.Version import Annex.Link import Annex.ReplaceFile -import Annex.InodeSentinal -import Utility.InodeCache import Utility.CopyFile cmd :: Command @@ -52,13 +50,11 @@ start file key = ifM (isJust <$> isAnnexLink file) performNew :: FilePath -> Key -> CommandPerform performNew dest key = do - src <- calcRepo (gitAnnexLocation key) - srcic <- withTSDelta (liftIO . genInodeCache src) replaceFile dest $ \tmp -> do - r <- linkAnnex' key src srcic tmp + r <- linkFromAnnex key tmp case r of LinkAnnexOk -> return () - _ -> error "linkAnnex failed" + _ -> error "unlock failed" next $ cleanupNew dest key cleanupNew :: FilePath -> Key -> CommandCleanup |