I would like to be able to build different branches from my SVN repository, so I configured the repository to monitor branches using a pattern.
At first, I thought I had made a mistake in the pattern because the branches I expected were not appearing in the branch dropdown list in the queue options form when starting a build manually. However, I later noticed that if I made a change to one of those branches, it would then appear in the dropdown.
This makes me suspect that some kind of filtering is being applied, perhaps only showing branches that have recent activity.
Does anyone know how I can make all branches that match the configured pattern appear in the list, regardless of whether they have recent changes?
By default, Subversion should list all branches matching the configured pattern, not only those with recent changes. Branches are filtered by age only when the Maximum Active Branch Age (days) field is set to a value greater than 0.
When a Subversion repository is first initialised, or reset after a configuration change such as updating the branch pattern, Continua retrieves the latest revision for every matching branch and adds the branch files to its cache and information to the database. This can take some time when the pattern matches a large number of branches.
I suspect this process was still running after you changed the pattern. While it is in progress, you should see a spinning icon in the Queue Options dialog, and additional branches will appear once processing is complete.
If there was no indication that processing was still underway, could you share the branch pattern you used? We can then investigate what else may be preventing the branches from appearing.
The total number of branches under the branch path is less than 50 of which 29 should match. So it shouldn’t take very long. I did see the spinning icon, but that was only for a relative short time (<60sec).
The branch path is: /Branches/
The branch pattern I use is: /Features/(John|Mike|DevTeam)/.*/
We haven’t been able to reproduce this using similar branch patterns. Are you running the latest version of Continua?
It’s also possible that another repository option is affecting the results, such as Match branch pattern against top-level folders only.
Could you let us know which branch names are missing and which branches are being displayed? That may help us identify why they are being filtered out.
I do have the “Match branch pattern against top-level folders only.” option checked but when I do make a change to a branch, that branch will show up as expected.
If I uncheck the “Match branch pattern against top-level folders only.” then I will see all the folders but including the subfolders and that is not what I want.
If I set the branch path to /Branches/Features/John/ and in the pattern I add “/[^/]+/” then I do see all the existing folders. The thing is that I want to see the folders under Mike and DevTeam as well.
That’s interesting - I’ll look into that. Note the reason we added Match branch pattern against top-level folders only is to limit the initial branch load time - so it’s likely that we didn’t include branches on new changesets.
Try the pattern /Features/(John|Mike|DevTeam)/[^/]+/ - the /.*/ is greedy.
If I use the pattern you suggested and uncheck “Match branch pattern against top-level folders only”, it works as expected.
I now understand that “Match branch pattern against top-level folders only” should only be enabled when the branch pattern results are located directly within the specified branch folder. In my case, the matching folders are nested further down, so this option should not be used.
What I still find a bit strange is that after making a commit in one of the subfolders, that folder suddenly became visible in the dropdown. I’m not sure why that change triggered it to appear.