You can clone with
(Imported from Trac #61, reported by anonymous on 2006-01-26)
cabal-get can detect when you already have something installed. cabal-install should do this too, and not install stuff that's already installed? unless you give --force options
(Imported comment by @nominolo on 2006-01-26)
This works in cabal-install, at least with GHC (using ghc-pkg). Requesting to let Cabal manage packages itself should be done in a separate ticket.