Submodules can be used to track it. We need:
# repository with submodules that points to released jbosstools components
# in repository we can have jbosstools-${major}.${minor}.${patch}-${label}x branches for work in progress and jbosstools-${major}.${minor}.${patch}-${label} tags to mark releases
Here what I use to track all jbosstools repositories https://github.com/dgolovin/jbosstools-fork-submodules. It let me do several things without writing additional scripts:
1. I can sync my forks with upstream repositories
2. I can build any version of jbosstools ( considering we have the same branches tags for components )
3. I can create new branch/tag in every submodule
all above without additional scripts, it just:
git submodule foreach 'git ${submodule command}'
It might have some problems to handle branches when they include different set of submodules, because git checkout would not remove submodule that is missing in target branch.