Na verdade, o problema de que você fala existe e compensa muitas questões, como "por quanto tempo devo armazenar uma resposta em cache? E se eu tiver dois projetos cujas taxas de commits sejam muito diferentes?". Existem algumas soluções proprietárias que fazem o que você está procurando, ou seja, se você usa o Atlassian Stash, ele tem um plugin embutido que gerencia o cache de respostas de checkout para diminuir a carga no servidor.
A melhor solução é diferente do que você quer fazer. A melhor e recomendada solução é usar ganchos pós-commit, eles existem no git, svn e eu acho em outros vcs também. Basta ter seu repositório acionando a compilação em seu sistema de CI, em vez de os trabalhos de CI pesquisarem continuamente. Como você mencionou Jenkins (Hudson), o plugin Git, por exemplo, já fornece urls para realizar esse tipo de atividade.