Update working tree files fully atomically
This avoids commit churn by the assistant when eg, replacing a file with a symlink. But, just as importantly, it prevents the working tree being left with a deleted file if git-annex, or perhaps the whole system, crashes at the wrong time. (It also probably avoids confusing displays in file managers.)
This commit is contained in:
parent
8c52b20cc7
commit
38d61f934d
8 changed files with 34 additions and 21 deletions
|
@ -148,7 +148,7 @@ gitAnnexObjectDir r = addTrailingPathSeparator $ Git.localGitDir r </> objectDir
|
|||
gitAnnexTmpDir :: Git.Repo -> FilePath
|
||||
gitAnnexTmpDir r = addTrailingPathSeparator $ gitAnnexDir r </> "tmp"
|
||||
|
||||
{- The temp file to use for a given key. -}
|
||||
{- The temp file to use for a given key's content. -}
|
||||
gitAnnexTmpLocation :: Key -> Git.Repo -> FilePath
|
||||
gitAnnexTmpLocation key r = gitAnnexTmpDir r </> keyFile key
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue