Logical branch name of multiple vcs roots with parametrized variables for the default branch

 

Hello,

I would like to know if someone can explain me the following behaviour and if there is a way to handle it.

I have a build configuration that consists of two VCS roots: one main vcs root and another one that is checked out into a subfolder.
The default branches of the vcs roots are parametrized by variables which are set from another build that depends on this, via 'reverse.dep.<id>.<default-branch>'. So it can happen, that this build is run as a 'default' build, whereby the default branches of both vcs roots can differ.

Lets define:

  • Default branch of vcs-root A is called: default-branch-A
  • Default branch of vcs-root B is called: default-branch-B

Now, this build is triggered as a snapshot dependency of another build (also a default build), whereby the default branches of both vcs roots (A and B) are set accordingly to default-branch-A and default-branch-B.

What happens now:

  • the logical branch name displayed in the UI of the build (with two VCS roots) is now set to default-branch-A:default-branch-B

However, this does not happen if the default branch of the second VCS root is not parametrized. Then, the logical branch name is 'correctly' set to default-branch-A

Is there a way to define that the logical branch name should only be based on the main vcs root?

Also what I figured out is, that when changing the default branch using the parameter, the logical branch name starts with a slash, e.g. in this case /default-branch-A. I did not find anything in the documentation about this behaviour :/

Thanks a lot for your help

Best
Michael

 

0
2 comments

Hi Michael,

Could you be more specific on what you mean with the "/default-branch-A" bit? I don't understand what parameter you change to get the "/" inside the name. If your branch specification is constructed in a specific manner, it might include the "/" part into it.

I've managed to replicate the first issue. I find this is inconsistent, so I've created an issue in our tracker for it: https://youtrack.jetbrains.com/issue/TW-56387

0
Avatar
Permanently deleted user

Thanks a lot for your answer.

I'll try to explain the "/default-branch-A" issue a bit more detailed.

How to reproduce:

  1. Create a "Collect Packages Config"  (Composite Build, but I think it doesn't matter)
  2. Add one snapshot dependency (with a parametrized default branch)
  3. Start a default build where nothing is changed -> after build finished you will see the dependency has the logical name '<default'>
  4. Now start a build, where you change the parameterized default branch to a different one via 'reverse.dep.<Dependeny>.DEFAULT_BRANCH=master'  (assumed that the default branch is set to develop by default) -> now the logical branch named changed to '/master' (Here I would expect either 'master' or actually still <default>)

However, when changing other build parameters, the logical branch name behaves as expected. Only if I change the default branch using the reverse.dep functionality, it adds the leading slash.

I didn't find anything about this behavior in the documentation. 

Thanks a lot,
Michael

0

Please sign in to leave a comment.