Copying the source code of the dependencies into your repo isn't the only alternative to relying on third party repositories, though.
You could fork the dependencies that you work with into locally managed repos and use submodules to include them in your own project. That way you can easily update your dependencies without breaking everything and also maintain their commit history.