sync --content: Fix bug that caused transfers of files to be made to a git remote that does not have a UUID. This particularly impacted clones from gcrypt repositories.
Added guard in Annex.Transfer to prevent this problem at a deeper level. I'm unhappy ith NoUUID, but having Maybe UUID instead wouldn't help either if nothing checked that there was a UUID. Since there legitimately need to be Remotes that do not have a UUID, I can't see a way to fix it at the type level, short making there be two separate types of Remotes.
This commit is contained in:
parent
abf28714c3
commit
fbf5045d4f
5 changed files with 44 additions and 3 deletions
|
@ -106,7 +106,8 @@ seek o = allowConcurrentOutput $ do
|
|||
|
||||
remotes <- syncRemotes (syncWith o)
|
||||
let gitremotes = filter Remote.gitSyncableRemote remotes
|
||||
let dataremotes = filter (not . remoteAnnexIgnore . Remote.gitconfig) remotes
|
||||
let dataremotes = filter (\r -> Remote.uuid r /= NoUUID) $
|
||||
filter (not . remoteAnnexIgnore . Remote.gitconfig) remotes
|
||||
|
||||
-- Syncing involves many actions, any of which can independently
|
||||
-- fail, without preventing the others from running.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue