It seems that local shallow cloning is not possible with tight connections between object databases, at least with git 1.7.12. git clone --depth 1 --single-branchexplicitly warns that it is --depthignored in local clones and used file://. Therefore, you will need to choose between hard links and shallow cloning.
Hard links work even if the repository changes at least temporarily because git adds new objects to new files and never modifies existing files. However, it sometimes repackages the object database to increase efficiency, and I don’t see how hard links can be saved.
, git clone --single-branch --depth 1 file://old_repo_dir. , , --depth 1 1 , , ( , ). , , .
, . , , . 664 673k ( Emacs bzr git). , 36 3477 , , -, . :
git checkout
git commit -m "Initial commit."
git init
git pull OLD_REPO_DIR tmp-snapshot:master
git branch -D tmp-snapshot
master , - .