fix removal from local gcrypt repo that had files stored using rsync
When files are stored using rsync, they have their write bit removed; so does the directory they're put in. The local repo code did not turn these bits back on, so failed to remove.
This commit is contained in:
parent
8601f8f571
commit
d12becfdde
2 changed files with 7 additions and 2 deletions
|
@ -45,6 +45,7 @@ import Utility.Tmp
|
|||
import Logs.Remote
|
||||
import Logs.Transfer
|
||||
import Utility.Gpg
|
||||
import Utility.FileMode
|
||||
|
||||
remote :: RemoteType
|
||||
remote = RemoteType {
|
||||
|
@ -325,7 +326,12 @@ retrieve r rsyncopts
|
|||
remove :: Remote -> Remote.Rsync.RsyncOpts -> Key -> Annex Bool
|
||||
remove r rsyncopts k
|
||||
| not $ Git.repoIsUrl (repo r) = guardUsable (repo r) False $ do
|
||||
liftIO $ removeDirectoryRecursive $ parentDir $ gCryptLocation r k
|
||||
let f = gCryptLocation r k
|
||||
let d = parentDir f
|
||||
liftIO $ do
|
||||
allowWrite d
|
||||
allowWrite f
|
||||
removeDirectoryRecursive d
|
||||
return True
|
||||
| Git.repoIsSsh (repo r) = shellOrRsync r removeshell removersync
|
||||
| otherwise = unsupportedUrl
|
||||
|
|
1
debian/changelog
vendored
1
debian/changelog
vendored
|
@ -21,7 +21,6 @@ git-annex (5.20140718) UNRELEASED; urgency=medium
|
|||
* Dropping an object from a bup special remote now deletes the git branch
|
||||
for the object, although of course the object's content cannot be deleted
|
||||
due to the nature of bup.
|
||||
*
|
||||
|
||||
-- Joey Hess <joeyh@debian.org> Mon, 21 Jul 2014 14:41:26 -0400
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue