correctness

This commit is contained in:
Joey Hess 2010-10-12 13:12:47 -04:00
parent dc1d5e6831
commit 4fbdb197d5
3 changed files with 9 additions and 7 deletions

View file

@ -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

View file

@ -14,6 +14,7 @@ module GitRepo (
gitDir,
gitRelative,
gitConfig,
gitConfigRead,
gitAdd,
gitRm,
gitRun,

View file

@ -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