Hi,
I’ve been trying to create a build configuration that’s triggered only on changes within a subfolder in a TFS repository.
I started out with a repository trigger, referencing the entire TFS repository (covered by a single Continua repository, monitoring all branches) and specifying a branch pattern like “**Subdirectory**” (in Configuration -> 6 Triggers -> Edit -> Trigger Branch [tab] -> Branch Pattern). That resulted in an unexpected behavior; all other configurations that shared my repository were no longer triggered. This feels like a bug but we want to make sure we're not doing something wrong. Could you check/confirm this?
After that I created a configuration specific (Continua) repository where I changed the Relative folder under branch setting to “/Sources/Subdirectory”. I specified a default branch “/Main” and set the Branches to Monitor to All branches. I assumed that a build configuration that uses this repository would only trigger on changes within the limited scope of the repository, but that is not the case:
- If I set the build trigger to “All branches”, the build is triggered on any change made in the repository (even when that change does not relate to any branch, which I think is also a bug).
- If I set the build trigger to “Default branch”, the build is never triggered. (Expecting only /Main to trigger)
- If I set the build trigger to “Pattern matched branches” and specify /Main, the build is triggered on any change made in the main branch.
Is there any way I can configure the trigger, repository or combination of both in order to respond to changes in a subset of my repository?
Final Remark:
Invalid build triggers of changes outside the branch are marked as '(No Branch)'. We also noted that for this specific repository, when starting a build, this '(No Branch)' is also presented in the branch dropdown in the Queue Options. Other projects/configurations do not have this special 'branch', so it feels like that this is related to our TFS repository layout. What I can tell is that we have the following folders:
$/TFSProject
+ /Main [TFS branch]
+ /Branches
+ /Branch1 [TFS branch]
+ /Branch2 [TFS folder, not converted to branch]
+ /POC [TFS folder, not converted to branch]
Could it be that Continua is considering all root folders as branches? I was expecting, at least for TFS, that Continua will honor the TFS mechanism of explicitly marking folders as branch and this ignore all (root)folders that were not converted to branch.
Apologies for the large amount of information. We're a bit confused and we just want to give you as much information as possible.
Kind regards,
Remko Seelig