jenkinsci / jenkinsci/subversion-plugin

[JENKINS-26335] svn trunk only checkout

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

Description

It would be an extremely useful feature to be able to only do an svn checkout of the trunk code in multi-module projects using some kind of wildcard path or regular expression (for example "parent/**/trunk").

The problem here is that as time goes on there are more and more release tags of modules which require a longer time to checkout. The checked out folders for branches and tags also represent wasted effort as usually only the trunk is being built in a CI environment.

It would be possible to checkout modules individually but this creates a higher maintenance overhead when modules are added or removed. In the case of common source libraries there can be ten, twenty or even fifty modules. A real life working case requires about 30 minutes of time just to do the svn checkout. It is also possible to do an svn update but in practice it has been found that this does not remove unversioned files from the build and in some cases has left version controlled files in the workspace when they have been removed from the server.

Parent


ModuleA -> trunk

-> branches -> branch 1

-> branch 2

-> tags -> 1.0.0

-> 2.0.0

ModuleB -> trunk

-> branches -> branch 1

-> branch 2

-> tags -> 1.0.0

-> 2.0.0

---
Originally reported by drtaddei, imported from: svn trunk only checkout


  • status: Open
  • priority: Major
  • component(s): subversion-plugin
  • label(s): jenkins, performance, plugin, svn, trunk
  • resolution: Unresolved
  • votes: 2
  • watchers: 2
  • imported: 20251212-090250

Raw content of original issue

It would be an extremely useful feature to be able to only do an svn checkout of the trunk code in multi-module projects using some kind of wildcard path or regular expression (for example "parent/**/trunk").

The problem here is that as time goes on there are more and more release tags of modules which require a longer time to checkout. The checked out folders for branches and tags also represent wasted effort as usually only the trunk is being built in a CI environment.

It would be possible to checkout modules individually but this creates a higher maintenance overhead when modules are added or removed. In the case of common source libraries there can be ten, twenty or even fifty modules. A real life working case requires about 30 minutes of time just to do the svn checkout. It is also possible to do an svn update but in practice it has been found that this does not remove unversioned files from the build and in some cases has left version controlled files in the workspace when they have been removed from the server.

Parent


ModuleA -> trunk
-> branches -> branch 1
-> branch 2
-> tags -> 1.0.0
-> 2.0.0
ModuleB -> trunk
-> branches -> branch 1
-> branch 2
-> tags -> 1.0.0
-> 2.0.0


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.