summaryrefslogtreecommitdiff
path: root/Command/Unlock.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2015-12-27 15:59:59 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2015-12-27 15:59:59 -0400
commit60c88820987596809091ee010e6be2a083888bc8 (patch)
treedc2540c6deadfcf3efee1fd95948bcbd6f219db5 /Command/Unlock.hs
parent17490f3685aee698e10555c5dc3e915a317c2250 (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.hs8
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