TeamCity showing many changes for a single-file pull request

We have a build configuration that watches Pull Requests on a GitHub repository and builds them automatically. We only want the build configuration to build when files in specific paths are changed, as there are projects for several platforms in the same repository. However, we are finding that the VCS Root detects multiple changes a long way back in history, even when only a single file changes in the PR.

 

VCS Root configuration, summary:

- Default branch: refs/heads/release (we did use refs/heads/master in the past but this had the same problem. release branch is static and does not change)

- Branch specification: +:refs/pull/(*)/head

- Checkout rules:

    -:.
    +:web=>keyman/web
    +:windows=>keyman/windows

VCS Trigger:

    +:windows/**

  Branch filter:

    +:*
    -:<default>

 

For example, given the PR https://github.com/keymanapp/keyman/pull/217 a single file was changed in the /android path.

A build was triggered for our Windows build configuration, even though it specifically only watches /windows in the repository.

In the VCS Root configuration, we've tried many permuatations, following advice on Stack Overflow and here. However, the same basic issue continues to arise. We only want to trigger on changes that are specifically in the PR.

When I check the change log in the build report, I see many changes listed against the PR.

VCS Root Revision Label
(jetbrains.git) keymanapp/keyman (windows PRs)  refs/pull/217/head e5dc640786e1516b4a50182cee9282b372dd5c92 none

-----

 

Update to Unicode 10.0

Downloaded from ftp://ftp.unicode.org/Public/10.0.0/ucd/
darcy_wong   2 files  e5dc640786e1 21 Aug 17 03:42   
Fix KMEA uncaught javascript references

Javascript functions defined in keyboard.html need the window loaded before they can be called.

-Also cleaned up formatting in keyboard.html
darcy_wong   1 file  89339839fb91 11 Aug 17 09:16   
Remove include-path reset from devtools as this is done at start of build (wasn't working before) Marc Durdin   1 file  695912e70d7b 11 Aug 17 06:33   
Fixup paths for buildpkg Marc Durdin   2 files  a55a6a084b11 11 Aug 17 06:15   
Fixup package reset for dynamic paths Marc Durdin   2 files  e0eb05266901 11 Aug 17 03:48   
Update devtools.bin with dynamic root path Marc Durdin   1 file  8d259ec03238 10 Aug 17 12:29   
Remove SourceRootPath hard coded dependency Marc Durdin   8 files  dac6e4929f53 10 Aug 17 12:28   
Cleanup Delphi environment before trying to build the chicken to build the egg Marc Durdin   1 file  a89f10a8cc06 10 Aug 17 08:32   
Fixup issues with devtools.dpr stalling Delphi Starter build Marc Durdin   2 files  d32d54963997 10 Aug 17 07:52   
Fix #145 - OSK fill from layout freezes, and tweak display of key preview in OSK editor at same time Marc Durdin   3 files  be582efae6bc 09 Aug 17 12:04   
Merge pull request #148 from keymanapp/windows-avoid-makejcldbg-warning

Prevent the build of makejcldbg from stalling a Delphi Starter build
Marc Durdin   0 files  d04613443d05 10 Aug 17 05:46   
Prevent makejcldbg from blocking Delphi Starter Marc Durdin   1 file  df1abbcaefcd 09 Aug 17 09:34   
Merge pull request #146 from keymanapp/android-clean-resources

More cleanup
Darcy Wong   0 files  6ac081a4df58 09 Aug 17 02:26   
More cleanup

Remove legacy res/ files and AndroidManifest.xml files that aren't used
Remove unused strings (related to previous licensing)
darcy_wong   77 files  ab7a148129e2 09 Aug 17 01:37   
Merge pull request #144 from keymanapp/windows-shift-regression-140

Fix #140 - regression in modifer state management
Marc Durdin   0 files  dc1878629b59 08 Aug 17 08:25   
KeymanDebugLog helper app for live debug log watching Marc Durdin   8 files  356b9ad56842 08 Aug 17 06:06   
Test case for #140 Marc Durdin   10 files  1f640e7b7d83 08 Aug 17 06:05   
#140 - fixup right shift, again, with correct scan code mapping Marc Durdin   2 files  b296b7fa8f2e 08 Aug 17 06:04   
Header file for #140 Marc Durdin   1 file  acdfa2e0ba06 08 Aug 17 01:39   
Fixes #140 - regression with shift states: cleanup Marc Durdin   1 file  ab2e8871fcef 08 Aug 17 01:38   
Fixes #140 - regression with shift states (cleanup to come) Marc Durdin   3 files  92827f96958b 08 Aug 17 00:23   
Merge pull request #143 from keymanapp/infrastructure-badges

Start root README.md and add CI badges
Darcy Wong   0 files  635a6c592268 31 Jul 17 07:41   
Start root README.md and add CI badges darcy_wong   1 file  9a239588b90a 31 Jul 17 04:57   
Merge pull request #142 from keymanapp/android-scripts-executable

Fix build scripts for Linux
Darcy Wong   0 files  1bfdbb0f6ad9 31 Jul 17 02:34   
Fix build scripts for Linux

n trying to build Keyman for Android on Linux, the following issues needed to be fixed:

Set `build.sh` and `gradlew` scripts to executable

KMEA/build.sh needs an OS check so build.bat is only called on Windows

web/source/build.sh needs $compiler and $copmiler_warnings values in quotes
darcy_wong   10 files  2fc20b6ce68e 31 Jul 17 01:36   
Merge pull request #139 from keymanapp/windows-signcode-cleanup

Cleanup certificate code signing for Windows
Marc Durdin   0 files  ea8cc6c433c8 27 Jul 17 07:32   
Cleanup certificate code signing for Windows Marc Durdin   3 files  4dfacd516eb3 27 Jul 17 07:03   
Merge pull request #126 from keymanapp/keyman-android-2.8-alpha

Keyman for Android 2.8 Open Source
Darcy Wong   0 files  2b3fa63cea49 26 Jul 17 01:44   
Update Android readme.md darcy_wong   1 file  51ab565971b2 26 Jul 17 01:16   
KeymanWeb 10.0 alpha (#124)

* Fixes #107 - move __BUILD__ and dfltLayout variables into tavultesoft object

* Cherry-pick fix for error from attachment api rework #114

* Fixup missing __BUILD__ reference

* Update header version number

* Fixup broken getDefaultKeyObject() call so we can release 2.0

* Fixes #118 - longpress menu sometimes missing base key on phone devices (#134)

* Add note to build scripts to remind devs to make changes to both scripts
Marc Durdin   20 files  7125e3a08eb2 26 Jul 17 00:36   
Remove bin and gen folders

Remove bin and gen folders per https://stackoverflow.com/questions/16736856/what-should-be-in-my-gitignore-for-an-android-studio-project
darcy_wong   260 files  426a49b8db07 25 Jul 17 03:50   
Fixup broken submodule that breaks git (#136) Marc Durdin   0 files  93d587efccb8 25 Jul 17 04:03   
Keyman Desktop and Keyman Developer open source 10.0 alpha seed (#121)

* Keyman for Windows 10.0 Open Source

* Squashed 'windows/src/ext/jedi/jedi/' content from commit f444ad2

git-subtree-dir: windows/src/ext/jedi/jedi
git-subtree-split: f444ad2da4693851e523f1ea6bd541f701904c24

* Squashed 'windows/src/ext/jedi/jcl/' content from commit d63d3c9fd

git-subtree-dir: windows/src/ext/jedi/jcl
git-subtree-split: d63d3c9fd9ff84efdd8159084ec6a60313644243

* Squashed 'windows/src/ext/jedi/jvcl/' content from commit bee19f3b4

git-subtree-dir: windows/src/ext/jedi/jvcl
git-subtree-split: bee19f3b46909fde2fa92c06cd2706f41d99f6c3

* Add required .res files

* Add required .res files

* Add docbook files (forced)

* Add required libxslt

* Add required jedi files

* Add installation files

* Tweak .gitignore for open

* CI

* Remove KMW from Developer source (#122)

* Remove KMW from Developer source (copies during build)

* Remove KMW from Developer source (copies during build)

* Remove KMW from Developer source (copies during build)

* Fixup release build and copy license, readme from kmw during build

* Remove obsolete build help documentation

* Keyman Engine 10 on Windows regression for shift states (#129)

* Improve #128 -- cleaner debug messages

* Fixes #127, shift state now resets correctly; and more work for #128

* Fixes #130 (#131)
Marc Durdin   33720 files  b65b982584ec 25 Jul 17 03:53   
Remove www in links

Updated info links from www.keyman.com/* to keyman.com/*
darcy_wong   1 file  444402c65f1d 25 Jul 17 03:20   
Add missing asset files and cleanup whitespace

Add missing files needed for KMEA and Samples projects
Also replaced tabs with spaces in some KMAPro files
darcy_wong   12 files  a13dc9d1a138 24 Jul 17 06:11   
Keyman for Android 2.8 Open Source

Copy over the Android source
Update build.sh scripts for new paths
KMEA/build.sh also updated to build KMW and use the artifacts
darcy_wong   945 files  6d26d7cd9eee 21 Jul 17 04:52

  

 

 

 

 

 

 

 

Any suggestions? I'm happy to run some tests or dig up extra information as required.

 

0
1 comment

Hi, and sorry for the delay. This is known behavior, changes in new branches also track changes in the default branch. Since 2017.1, this can be changed as explained here: https://confluence.jetbrains.com/display/TCD10/Configuring+VCS+Settings#ConfiguringVCSSettings-ChangesCalculationSettings

1

Please sign in to leave a comment.