diff options
author | Joey Hess <joey@kitenet.net> | 2014-02-03 11:19:41 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2014-02-03 11:19:41 -0400 |
commit | 65b8b2cbc8ff2f9d8dc1958298c86965f46acbc6 (patch) | |
tree | ed628308c678cf3bfc7b55d425b979fff03765e3 | |
parent | d267969464a13df7077522ef8463f4eeba136098 (diff) |
Windows: Fix deletion of repositories by test suite and webapp.
On Windows, a file that is not writable cannot be deleted even if in a
directory with write perms. So git object files were not getting deleted
when removing a git repository.
-rw-r--r-- | Test.hs | 13 | ||||
-rw-r--r-- | debian/changelog | 1 |
2 files changed, 7 insertions, 7 deletions
@@ -816,12 +816,12 @@ test_mixed_conflict_resolution env = do indir env r1 $ do writeFile conflictor "conflictor" git_annex env "add" [conflictor] @? "add conflicter failed" - git_annex env "sync" [] @? "sync failed" + git_annex env "sync" [] @? "sync failed in r1" indir env r2 $ do createDirectory conflictor writeFile (conflictor </> "subfile") "subfile" git_annex env "add" [conflictor] @? "add conflicter failed" - git_annex env "sync" [] @? "sync failed" + git_annex env "sync" [] @? "sync failed in r2" pair env r1 r2 let r = if inr1 then r1 else r2 indir env r $ do @@ -1169,12 +1169,11 @@ cleanup :: FilePath -> IO () cleanup dir = do e <- doesDirectoryExist dir when e $ do - -- git-annex prevents annexed file content from being - -- removed via directory permissions; undo + -- Allow all files and directories to be written to, so + -- they can be deleted. Both git and git-annex use file + -- permissions to prevent this. recurseDir SystemFS dir >>= - filterM doesDirectoryExist >>= - mapM_ Utility.FileMode.allowWrite - -- For unknown reasons, this sometimes fails on Windows. + mapM_ Utility.FileMode.allowWrite void $ tryIO $ removeDirectoryRecursive dir checklink :: FilePath -> Assertion diff --git a/debian/changelog b/debian/changelog index 27ac73a81..dc58bc87d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -21,6 +21,7 @@ git-annex (5.20140128) UNRELEASED; urgency=medium on Windows; the lock files have been sorted out. * Windows: Avoid using unix-compat's rename, which refuses to rename directories. + * Windows: Fix deletion of repositories by test suite and webapp. -- Joey Hess <joeyh@debian.org> Tue, 28 Jan 2014 13:57:19 -0400 |