I've seen several challenges with large git repositories, and several ways
to handle those challenges.

   1. Use a reference repository to reduce the amount of data to be
   transferred during the "fetch".  Accept that you may need to periodically
   update that local reference repository with the most recent changes from
   the central repository.  Refer to
   
http://randyfay.com/content/reference-cache-repositories-speed-clones-git-clone-reference
   2. Use a shallow clone to reduce the amount of data to be transferred
   during the "fetch".  Accept that a shallow clone into the Jenkins workspace
   does not carry all the history with it.  Read
   
http://stackoverflow.com/questions/6941889/is-git-clone-depth-1-shallow-clone-more-useful-than-it-makes-out
   for more information
   3. Use a sparse checkout to reduce the amount of data to be created
   during the "checkout".  Accept that your Jenkins job must manage the
   definition of the subset of directories updated by the "checkout".  Add the
   "Additional Behaviours" "Sparse Checkout paths" to your Jenkins job
   definition and insert the list of directories to checkout

A combination of 1 and 3 or 2 and 3 usually gives the fastest checkout.  At
work, we have a painfully large 7 GB repository.  We use a reference
repository and a sparse checkout to make the checkout of the small portion
we require very fast (on the order of seconds rather than minutes).

If you require a full and complete checkout of an 18 GB repository on a
system with slow discs, the current Jenkins git plugin probably won't do it
for you, due to one of the problems described in
https://issues.jenkins-ci.org/browse/JENKINS-20387 .  The "git checkout"
command in git-client-plugin has a 10 minute timeout which can only be
adjusted by setting a property on the java command line.  If you need to
perform a "checkout" which takes longer than 10 minutes to complete, then
the git-client-plugin currently requires that you set that property.  That
may be changed in a coming release of the git-client-plugin so that the
timeout configured in the git plugin UI applies to "checkout", not just to
"fetch".

Mark Waite


On Sat, Jul 19, 2014 at 2:27 AM, abhinavn <abhinav....@gmail.com> wrote:

> This is not related to jenkins, for cloning large git repo you need to
> follow shallow clone
>
> http://blogs.atlassian.com/2014/05/handle-big-repositories-git/
>
>
> On Friday, July 18, 2014 11:50:52 PM UTC-7, bandi pavankumar reddy wrote:
>>
>> Hi friends i am trying to clone 18 GB repository in Jenkins it's giving
>>  time out error and i already mentioned timeout 60 minuets i n 13 th minute
>> it' displaying time out error ...give me any suggestions it is possible or
>> not
>>
>  --
> You received this message because you are subscribed to the Google Groups
> "Jenkins Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to jenkinsci-users+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Thanks!
Mark Waite

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to