We have a complicated arrangement of 4 related Git repos - all of which undergo continuous concurrent development (both with isolation and synchronization).
Here is the structure of the relationship.
Git 'A" is the parent non-forked repo.
Git repos B C D are all forked/cloned repos of A.
B C D repos all have a UpStream Git remote branch view of A. i.e A is a remote 'upstream' branch in all of B C D.
B C D repos all have CrossStream Git remote view relationships with one another. i.e. B is a remote 'cross-stream' branch in both C D. C is a remote cross-stream branch in both B D, and D is a cross-stream branch in A C.
All of the B C D repos have furiously paced development work with frequent cross-stream branch commits/pushs between one another to remain synchronized.
The A repo is less frequently updated with commits/pushes ... but ... when it is ... all of the B C D repos need to do a fetch/merge with via its UpStream branch view (synchronizing them with the parent). A <--> (B,C,D) never do direct commits/pushes across their upstream/downstream branch views.
We are not (yet!) TeamCity users. We are IntelliJ users (of course). Can TeamCity help us with automating the management of how these 4 repos interact with one-another? Can we arrange TeamCity so that anytime A commits/pushes changes to its parent repo, triggers all of B,C,D to automatically fetch/merge those pushed A commits? Etc.?
Excited (but uncertain) that TeamCity might help us, thanks for any insights!