The cache changes in Gradle 1.0-milestone-5 force downloading dependencies on a per-repository basis, even if the exact group/artifact/version tuple already exists in the local cache.
This can easily result in large amounts of, from the user's perspective, unnecessary downloads.
Consider optimizing this with early checksum comparisons. If a GAV already exists in the cache, but associated with a different repository, then fetch the checksum(s) from the new repository and compare with the local copy. If the same, simply link the existing artifact to the new repository locally. If different, of course download the differing artifact.