jenkinsci / jenkinsci/subversion-plugin

[JENKINS-53719] No way to disable lightweight checkout for Multibranch projects

Open
#1,487 1 comment 0 reactions 0 assignees View on GitHub
component:subversion-plugin imported-jira-issue priority:minor resolution:unresolved
Dominant language
Java
Stars
131
Forks
275
Avg merge
12h 4m
Merged PRs (30d)
6

Description

The regular pipeline project type allows the users the option to enable or disable "lightweight checkout" of the Jenkinsfile. When enabled, the project will attempt to use the `SCMFileSystem` classes to get get the Jenkinsfile without checking out the entire working tree. If the SCM does not support this feature it falls back to the default.

The multi-branch plugin lacks the option to disable trying to use the SCMFileSystem. Lacking that support can cause issues. It is not always practical to support the entire feature set of an SCM in an SCMFileSystem, so some projects need the ability to turn off lightweight checkout.

As an example recently the subversion plugin added support for lightweight checkout. However the lightweight checkout support did not include the ability to handle externals (which are like git's submodules). Since most users do store their Jenkinsfile in externals, even this incomplete support provides the benefit of not needing two on-disk checkouts of each project, which can be really valuable.

However a small number of users actually do store their Jenkinsfile in SVN externals. Those users were broken with the multi-branch pipeline project because it lacks the option to disable the use of lightweight checkout. A workaround of a special system property was added to address that, but the proper fix is to add the checkbox to disable this to the multi-branch pipeline plugin.

 

---
Originally reported by jsmith45, imported from: No way to disable lightweight checkout for Multibranch projects


  • status: Open
  • priority: Minor
  • component(s): subversion-plugin
  • resolution: Unresolved
  • votes: 3
  • watchers: 5
  • imported: 20251212-090250

Raw content of original issue

The regular pipeline project type allows the users the option to enable or disable "lightweight checkout" of the Jenkinsfile. When enabled, the project will attempt to use the `SCMFileSystem` classes to get get the Jenkinsfile without checking out the entire working tree. If the SCM does not support this feature it falls back to the default.

The multi-branch plugin lacks the option to disable trying to use the SCMFileSystem. Lacking that support can cause issues. It is not always practical to support the entire feature set of an SCM in an SCMFileSystem, so some projects need the ability to turn off lightweight checkout.

As an example recently the subversion plugin added support for lightweight checkout. However the lightweight checkout support did not include the ability to handle externals (which are like git's submodules). Since most users do store their Jenkinsfile in externals, even this incomplete support provides the benefit of not needing two on-disk checkouts of each project, which can be really valuable.

However a small number of users actually do store their Jenkinsfile in SVN externals. Those users were broken with the multi-branch pipeline project because it lacks the option to disable the use of lightweight checkout. A workaround of a special system property was added to address that, but the proper fix is to add the checkbox to disable this to the multi-branch pipeline plugin.

 

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.