On 25 December 2013 04:32, Rene Rivera
I don't have a local mirror.. I have nothing. Since I must assume, and test, the state testers are going to be of start from scratch.
You could use a local mirror for faster development, and then use a remote server for final testing once everything else is working.
It can be faster to implement things yourself that doesn't bother with configuration. For example you can read the submodules directly from the .gitmodules file, and get their details using git ls-tree:
git config -f .gitmodules -l \ | grep '^submodule\.\w*\.path' \ | cut -d = -f2 \ | xargs git ls-tree HEAD
I've though about doing such things.. And it is something I do for the version of the scripts that uses Dulwich. But, alas, Dulwich chokes on the Boost repos.
If you just want to make a copy of a repo, and don't care about git,
it can be quicker using git archive:
git archive master | tar -x -C location
That doesn't work, and it was the first thing I tried more than a year ago now. "archive" doesn't recurse submodules, hence it's useless unless I "manually" recurse submodules.
That's why I described how to manually get the submodules' hashes. Having a clean export is useful for the documentation build, so I implemented it last night: https://github.com/danieljames/boost-build-docs/commit/9cde80a5a2c248f0aa350... A python script could be better and faster because it can put the output of 'git config' into a dict, and would also need to only run 'git ls-tree' once to get hashes. And also because I'm not very good at shell scripting.