-
Improvement
-
Resolution: Fixed
-
Major
The %2F encoding of / breaks many software (msbuild for example) and can't be changed.
Being able to provide a rule to build the subproject names from the branch name instead of just encoding things would permit to give the user the power to work around their problems with this kind of software.
This would be an advanced option in which one can write something like a sed regex.
- duplicates
-
JENKINS-30744 multibranch issues if branch contains /
-
- Closed
-
- is blocked by
-
JENKINS-44360 '%' in branch name causes GitHub multi-branch job failures
-
- Open
-
-
JENKINS-44784 Branch indexing blocked by workspace cleanup hung on bad connection
-
- Resolved
-
- is duplicated by
-
JENKINS-37711 Percent encoding cause fail in Visual Studio
-
- Resolved
-
-
JENKINS-34475 github-org folder is incompatible with git flow implementations - branch names break builds
-
- Resolved
-
-
JENKINS-38706 Workspace directory names mangled in multibranch pipeline
-
- Resolved
-
-
JENKINS-34595 Multibranch Pipeline Project vs SVN branches
-
- Resolved
-
-
JENKINS-37677 Handle jobs in Multibranch projects where git branches have special characters
-
- Resolved
-
-
JENKINS-37045 Don't use "%2F" in branch directory name
-
- Resolved
-
-
JENKINS-35633 multibranch builds with visual studio incorrectly handles branches with a slash
-
- Closed
-
-
JENKINS-32239 job naming sould be configurable
-
- Resolved
-
-
JENKINS-32253 Want an option to encode slashes in branch names differently
-
- Resolved
-
-
JENKINS-42923 Multibranch job should have an option to shorten the job/script directory
-
- Resolved
-
-
JENKINS-38874 Shorten branch's folder name
-
- Closed
-
- is related to
-
JENKINS-34083 Compilation problems
-
- Resolved
-
-
JENKINS-38837 Mutibranch project plugin does not respect "Workspace Root Directory" global configuration
-
- Resolved
-
- relates to
-
JENKINS-2111 removing a job (including multibranch/org folder branches/repos) does not remove the workspace
-
- Resolved
-
-
JENKINS-30148 Allocate shorter workspace if it will be too long for reasonable use inside build
-
- Open
-
-
JENKINS-51811 KubernetesSlave should override getWorkspaceFor(TopLevelItem)
-
- Open
-
- links to
Our workaround involves creating workspace paths based on the parent job and simplified branch name, with a limit on length, and using a small hash if the length is too long.
For example, in the job example-core-pipeline, we might have a branch named feature/adding-something-important ends up going into the path D:\jenkins\workspace\example-core-pipeline\adding-somB5, and a branch named feature/goodbye-bugs goes to D:\jenkins\workspace\example-core-pipeline\goodbye-bugs.
Trimming off the branch prefix (feature/ in these cases) helps to shorten the path somewhat. We chose to limit the rest of the branch name when used as a folder name to 12 characters. If it is longer, it gets trimmed to 10 characters and the rest of the name is hashed to a simple 2-character hash.
We consider it extremely unlikely that we would have two branches with similar enough names that the first 10 characters plus a 2-character hash will create a collision. On our very active 18-member development team we've been using this since just after I reported
JENKINS-38706with high success. Through many dozens of branches there have been no collisions, the paths are human-readable, and they are not too long for our builds.