How to replace crate when using another source?

For some reason, I set ~/.cargo/config to be following:

[source.crates-io]
replace-with = 'ustc'
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"

And then I try to run this project, but it doesn’t work because it fail to replace the crate:

warning: Patch `hyper v0.12.31 (git://github.com/nlevitt/hyper.git?branch=pub-pool#802d1088)` was not used in the crate graph.
Check that the patched package version and available features are compatible
with the dependency requirements. If the patch has a different version from
what is locked in the Cargo.lock file, run `cargo update` to use the new
version. This may also occur with an optional dependency that is not enabled.

The key settings of Cargo.toml is following:

[dependencies]
hyper = "0.12"
[patch.crates-io]
"hyper" = { git = "git://github.com/nlevitt/hyper.git", branch = "pub-pool" }

I have try replace patch.crates-io to many things, but it still doesn’t work.
I use windows7 and stable-x86_64-pc-windows-gnu.
I try it on a linux server and it works.
So how to solve this problem?