# A question regarding checkout scm step

**URL:** <https://community.jenkins.io/t/a-question-regarding-checkout-scm-step/29385>\
**Category:** Ask a question\
**Created:** [April 4, 2025, 1:28pm UTC](https://community.jenkins.io/t/a-question-regarding-checkout-scm-step/29385 "2025-04-04T13:28:26Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![hpriya](https://avatars.discourse-cdn.com/v4/letter/h/a87d85/32.png) [@hpriya](https://community.jenkins.io/u/hpriya)\
**Post date:** [April 4, 2025, 1:28pm UTC](https://community.jenkins.io/t/a-question-regarding-checkout-scm-step/29385/1 "2025-04-04T13:28:26Z")

</div>

Hey Experts  
Might be trivial but, when Jenkinsfile declarative pipeline does a scm-checkout, which plugin governs the git version and timeout

```auto
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Declarative: Checkout SCM)
[Pipeline] checkout
The recommended git tool is: git
using credential ***
Cloning the remote Git repository
Cloning with configured refspecs honoured and without tags
Cloning repository https:// *****.git
 > git init /home/jenkins/agent/workspace/ **** # timeout=10
Fetching upstream changes from https:// **** git
 > git --version # timeout=10
 > git --version # 'git version 2.20.1'

```

I want to update the git version to `2.43.x`

Regards  
Me 🙂

---

<div class="post-metadata">

**Author:** ![hpriya](https://avatars.discourse-cdn.com/v4/letter/h/a87d85/32.png) [@hpriya](https://community.jenkins.io/u/hpriya)\
**Post date:** [April 4, 2025, 1:40pm UTC](https://community.jenkins.io/t/a-question-regarding-checkout-scm-step/29385/2 "2025-04-04T13:40:49Z")

</div>

❓ git-client [Git client](https://plugins.jenkins.io/git-client/releases/)

---

<div class="post-metadata">

**Author:** ![mawinter69](https://dub1.discourse-cdn.com/flex013/user_avatar/community.jenkins.io/mawinter69/32/1625_2.png) [@mawinter69](https://community.jenkins.io/u/mawinter69)\
**Post date:** [April 4, 2025, 3:39pm UTC](https://community.jenkins.io/t/a-question-regarding-checkout-scm-step/29385/3 "2025-04-04T15:39:03Z")

</div>

Usually git-client plugin is using the git that is installed on the machine. Afaik you can also make it use jgit (not for large repos). You can configure under Manage Jenkins → Tools the git installations, there you also have the option to install it automatically, but I don’t know how well this works when you have different platforms. I think most people rely on the git that is installed on the machine.

The timeout is configurable, when configuring a pipeline or when using the snippet generator click on the `Add` at `Additional Behaviours` and then choose `Advanced clone behaviours`. For checkout timeout choose `Advanced checkout behaviours`

---

<div class="post-metadata">

**Author:** ![hpriya](https://avatars.discourse-cdn.com/v4/letter/h/a87d85/32.png) [@hpriya](https://community.jenkins.io/u/hpriya)\
**Post date:** [April 7, 2025, 12:40pm UTC](https://community.jenkins.io/t/a-question-regarding-checkout-scm-step/29385/4 "2025-04-07T12:40:18Z")

</div>

That helped @mawinter69

```sh
Receiving objects: 92% (1512/1643), 15.01 GiB | 17.85 MiB/s   
Receiving objects: 92% (1522/1643), 15.03 GiB | 17.91 MiB/s   
error: index-pack died of signal 15
fatal: index-pack failed

```

Lately, git clones for larger repository randonly fails with `fatal: index-pack failed`. We don’t see issues with repositories less than 1GB while performing scm checkouts.

---

<div class="post-metadata">

**Author:** ![hpriya](https://avatars.discourse-cdn.com/v4/letter/h/a87d85/32.png) [@hpriya](https://community.jenkins.io/u/hpriya)\
**Post date:** [April 7, 2025, 12:43pm UTC](https://community.jenkins.io/t/a-question-regarding-checkout-scm-step/29385/5 "2025-04-07T12:43:03Z")

</div>

Checking shallow clone with depth `1` helps
