Git in TC7: shallow clones, local mirrors

I see from the TeamCity 7 documentation that the Git plugin has support for doing shallow clones (yay) with local mirrors of Git repos (double-yay).

This should solve the "clones from github are really slow" problem for us, if we'd just have to update local mirrors on the build agents rather than perform full clones.

The thing I don't see is -- where do the local mirrors end up?

I ask because we've given our build agents RAM disks as their working directories.  This makes large subversion checkouts extremely fast -- we went from a checkout taking 12 minutes, to taking 2 minutes, and this also noticeably speeds up builds. But it also means we don't have much space to hold checkouts of every branch of every app.

It would seem logical in this setup to put local mirrors on the local disks of the build agents, but continue to put the build working directories on the RAM disk.  Will this sort of separation be an option?

1 comment
Comment actions Permalink

Hi Donald,

local mirrors go to the buildAgent/system/git directory, so separation you need is possible. BTW, you can use git local mirrors in 6.5.5 (Teamcity 6.5 doc) , but ability to do shallow clone was added in the 7.0.


Please sign in to leave a comment.