correctness
This commit is contained in:
parent
dc1d5e6831
commit
4fbdb197d5
3 changed files with 9 additions and 7 deletions
9
Annex.hs
9
Annex.hs
|
@ -33,11 +33,12 @@ annexDir repo key = gitDir repo ++ "/annex/" ++ key
|
|||
startAnnex :: IO State
|
||||
startAnnex = do
|
||||
r <- gitRepoFromCwd
|
||||
gitPrep r
|
||||
r' <- prepUUID r
|
||||
gitPrep r'
|
||||
|
||||
return State {
|
||||
repo = r,
|
||||
backends = parseBackendList $ gitConfig r "annex.backends" ""
|
||||
repo = r',
|
||||
backends = parseBackendList $ gitConfig r' "annex.backends" ""
|
||||
}
|
||||
|
||||
{- Annexes a file, storing it in a backend, and then moving it into
|
||||
|
@ -85,8 +86,6 @@ unannexFile state file = do
|
|||
{- Sets up a git repo for git-annex. May be called repeatedly. -}
|
||||
gitPrep :: GitRepo -> IO ()
|
||||
gitPrep repo = do
|
||||
prepUUID repo
|
||||
|
||||
-- configure git to use union merge driver on state files
|
||||
let attrLine = stateLoc ++ "/*.log merge=union"
|
||||
let attributes = gitAttributes repo
|
||||
|
|
|
@ -14,6 +14,7 @@ module GitRepo (
|
|||
gitDir,
|
||||
gitRelative,
|
||||
gitConfig,
|
||||
gitConfigRead,
|
||||
gitAdd,
|
||||
gitRm,
|
||||
gitRun,
|
||||
|
|
6
UUID.hs
6
UUID.hs
|
@ -23,14 +23,16 @@ genUUID :: IO String
|
|||
genUUID = do
|
||||
pOpen ReadFromPipe "uuid" ["-m"] $ \h -> hGetLine h
|
||||
|
||||
{- Looks up a repo's UUID -}
|
||||
getUUID :: GitRepo -> String
|
||||
getUUID repo = gitConfig repo "annex.uuid" ""
|
||||
|
||||
{- Make sure that the repo has an annex.uuid setting. -}
|
||||
prepUUID :: GitRepo -> IO ()
|
||||
prepUUID :: GitRepo -> IO GitRepo
|
||||
prepUUID repo =
|
||||
if ("" == getUUID repo)
|
||||
then do
|
||||
uuid <- genUUID
|
||||
gitRun repo ["config", configkey, uuid]
|
||||
else return ()
|
||||
gitConfigRead repo -- return new repo with updated config
|
||||
else return repo
|
||||
|
|
Loading…
Reference in a new issue