Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-59139

don't set GIT_LFS_SKIP_SMUDGE=1 anymore while cloning with git 2.15+

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Minor Minor
    • git-client-plugin
    • None

      Since commit 853603cccd4434b116ef9b8e094c3f5b815aa75a, we set GIT_LFS_SKIP_SMUDGE=1  to improve performance, and require users to add the "Git LFS pull after checkout" additional behaviour to resolve pointers. 

      This was mostly done because git clone performance was pretty bad with the smudge filter enabled, and in some configurations, (ssh clone URLs), git lfs pull didn't work.

      Since then, a lot has improved:

      Clone performance through the smudge filter has improved since https://github.com/git-lfs/git-lfs/pull/2511.

      Backends should support the git-lfs-authenticate dance as described in https://github.com/git-lfs/git-lfs/blob/master/docs/api/authentication.md#ssh, which retrieves a temporary authorization token to do the clone over https.

      I propose to just do a git clone without setting GIT_LFS_SKIP_SMUDGE=1. Most systems should have done a git lfs install before, so they will resolve the lfs pointers during a clone. We can keep the "Git LFS pull after checkout" additional behaviour, for systems that don't have setup global smudge filters via git lfs install.

          [JENKINS-59139] don't set GIT_LFS_SKIP_SMUDGE=1 anymore while cloning with git 2.15+

          Florian Klink created issue -
          Mark Waite made changes -
          Assignee Original: Mark Waite [ markewaite ]
          Mark Waite made changes -
          Labels New: newbie-friendly
          Mark Waite made changes -
          Summary Original: don't set GIT_LFS_SKIP_SMUDGE=1 anymore while cloning New: don't set GIT_LFS_SKIP_SMUDGE=1 anymore while cloning with git 2.15+
          René Scheibe made changes -
          Link New: This issue relates to JENKINS-56569 [ JENKINS-56569 ]
          René Scheibe made changes -
          Link New: This issue relates to JENKINS-47531 [ JENKINS-47531 ]
          René Scheibe made changes -
          Description Original: Since [https://github.com/jenkinsci/git-client-plugin/commit/853603cccd4434b116ef9b8e094c3f5b815aa75a,] we set GIT_LFS_SKIP_SMUDGE=1  to improve performance, and require users to add the "Git LFS pull after checkout" "Additional behaviour" to resolve pointers.

           

          This was mostly done because git clone performance was pretty bad with the smudge filter enabled, and in some configurations, (ssh clone URLs), git lfs pull didn't work.

           

          Since then, a lot has improved:

           

          Clone Performance through the smudge filter has improved since [https://github.com/git-lfs/git-lfs/pull/2511.|https://github.com/git-lfs/git-lfs/pull/2511

          Backends should support the `git-lfs-authenticate` dance as described in [https://github.com/git-lfs/git-lfs/blob/master/docs/api/authentication.md#ssh], which retrieves a temporary authorization token to do the clone over https.

           

          I propose to just do a git clone without setting `GIT_LFS_SKIP_SMUDGE=1`. Most systems should have done a `git lfs install` before, so they will resolve the lfs pointers during a clone. We can keep the  "Git LFS pull after checkout" "Additional behaviour", for systems that don't have setup global smudge filters via `git lfs install`.
          New: Since commit [853603cccd4434b116ef9b8e094c3f5b815aa75a|https://github.com/jenkinsci/git-client-plugin/commit/853603cccd4434b116ef9b8e094c3f5b815aa75a], we set {{GIT_LFS_SKIP_SMUDGE=1}}  to improve performance, and require users to add the "Git LFS pull after checkout" additional behaviour to resolve pointers. 

          This was mostly done because git clone performance was pretty bad with the smudge filter enabled, and in some configurations, (ssh clone URLs), git lfs pull didn't work.

          Since then, a lot has improved:

          Clone performance through the smudge filter has improved since [https://github.com/git-lfs/git-lfs/pull/2511].

          Backends should support the {{git-lfs-authenticate}} dance as described in [https://github.com/git-lfs/git-lfs/blob/master/docs/api/authentication.md#ssh], which retrieves a temporary authorization token to do the clone over https.

          I propose to just do a git clone without setting {{GIT_LFS_SKIP_SMUDGE=1}}. Most systems should have done a {{git lfs install}} before, so they will resolve the lfs pointers during a clone. We can keep the "Git LFS pull after checkout" additional behaviour, for systems that don't have setup global smudge filters via {{git lfs install}}.
          Mark Waite made changes -
          Link New: This issue is related to JENKINS-62587 [ JENKINS-62587 ]
          Mark Waite made changes -
          Labels Original: newbie-friendly

            Unassigned Unassigned
            flokli Florian Klink
            Votes:
            1 Vote for this issue
            Watchers:
            11 Start watching this issue

              Created:
              Updated: