diff options
author | 2016-06-02 13:50:05 -0400 | |
---|---|---|
committer | 2016-06-02 13:50:43 -0400 | |
commit | 60e30564338ebd9b18b5e229a9050478e5b8c423 (patch) | |
tree | 29f6aeecaea4ec7301951636b62b12980a816306 /Command/Sync.hs | |
parent | a19c55d87ae35f4b65d3a4668c2dca1cf6f875df (diff) |
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.
Diffstat (limited to 'Command/Sync.hs')
-rw-r--r-- | Command/Sync.hs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/Command/Sync.hs b/Command/Sync.hs index 1169b95c8..c003aa41d 100644 --- a/Command/Sync.hs +++ b/Command/Sync.hs @@ -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. |