Repository tuning parameters can now be passed when initializing a repository for the first time.
* init: Repository tuning parameters can now be passed when initializing a repository for the first time. For details, see http://git-annex.branchable.com/tuning/ * merge: Refuse to merge changes from a git-annex branch of a repo that has been tuned in incompatable ways.
This commit is contained in:
parent
b11a7b0ace
commit
70736d2b41
25 changed files with 376 additions and 25 deletions
|
@ -230,7 +230,7 @@ undo file key e = do
|
|||
{- Creates the symlink to the annexed content, returns the link target. -}
|
||||
link :: FilePath -> Key -> Maybe InodeCache -> Annex String
|
||||
link file key mcache = flip catchNonAsync (undo file key) $ do
|
||||
l <- inRepo $ gitAnnexLink file key
|
||||
l <- calcRepo $ gitAnnexLink file key
|
||||
replaceFile file $ makeAnnexLink l
|
||||
|
||||
-- touch symlink to have same time as the original file,
|
||||
|
@ -272,7 +272,7 @@ cleanup :: FilePath -> Key -> Maybe InodeCache -> Bool -> CommandCleanup
|
|||
cleanup file key mcache hascontent = do
|
||||
ifM (isDirect <&&> pure hascontent)
|
||||
( do
|
||||
l <- inRepo $ gitAnnexLink file key
|
||||
l <- calcRepo $ gitAnnexLink file key
|
||||
stageSymlink file =<< hashSymlink l
|
||||
, addLink file key mcache
|
||||
)
|
||||
|
|
|
@ -28,7 +28,7 @@ seek = withFilesInGit $ whenAnnexed start
|
|||
{- Fixes the symlink to an annexed file. -}
|
||||
start :: FilePath -> Key -> CommandStart
|
||||
start file key = do
|
||||
link <- inRepo $ gitAnnexLink file key
|
||||
link <- calcRepo $ gitAnnexLink file key
|
||||
stopUnless ((/=) (Just link) <$> liftIO (catchMaybeIO $ readSymbolicLink file)) $ do
|
||||
showStart "fix" file
|
||||
next $ perform file link
|
||||
|
|
|
@ -33,7 +33,7 @@ start _ = error "specify a key and a dest file"
|
|||
|
||||
perform :: Key -> FilePath -> CommandPerform
|
||||
perform key file = do
|
||||
link <- inRepo $ gitAnnexLink file key
|
||||
link <- calcRepo $ gitAnnexLink file key
|
||||
liftIO $ createDirectoryIfMissing True (parentDir file)
|
||||
liftIO $ createSymbolicLink link file
|
||||
next $ cleanup file
|
||||
|
|
|
@ -192,7 +192,7 @@ check cs = and <$> sequence cs
|
|||
-}
|
||||
fixLink :: Key -> FilePath -> Annex Bool
|
||||
fixLink key file = do
|
||||
want <- inRepo $ gitAnnexLink file key
|
||||
want <- calcRepo $ gitAnnexLink file key
|
||||
have <- getAnnexLinkTarget file
|
||||
maybe noop (go want) have
|
||||
return True
|
||||
|
|
|
@ -88,7 +88,7 @@ perform = do
|
|||
v <- tryNonAsync (moveAnnex k f)
|
||||
case v of
|
||||
Right _ -> do
|
||||
l <- inRepo $ gitAnnexLink f k
|
||||
l <- calcRepo $ gitAnnexLink f k
|
||||
liftIO $ createSymbolicLink l f
|
||||
Left e -> catchNonAsync (Command.Add.undo f k e)
|
||||
warnlocked
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue