It depends on how stable you are.
- If your trunk is something that is always ready for release, then you really do not want your external links to point to the trunk.
- If you have release branches that only change by merging in revisions from the outside, then you really do not want your external links to point to the connecting line.
- If for any reason you need a revision in the chest that says: โI am using this version of this external nowโ, thus controlling all changes to the project code, you do not want your external links to point to the connecting line.
However, the developer should perfectly switch working copies of their external files to the torso. It is also good to point to the connecting line in the development branch. It may be ok to point to the connecting line before the first stable version of the project.
My personal approach is to be very attentive to the chest, because for me this has special meaning - this is the full history of the project. Everything that will be released must go through the body, by definition. If you can change the connecting line without having the changes written against the change (which is effective, what happens if you point to the outside of the connecting line), you lost control over the release of this revision and when you included this revision in your project.
Remembering that all your links to specific changes have changed, when you separate from the backbone, it can be a trial. Hudson can make things more prominent with tag support, but it doesn't help much.
Pointing to the connecting line can also lead to an untouchable library problem. "
When it comes to CI, there is no reason why you cannot perform CI for all components, as well as for final integrated projects. Choosing when to join in the latest library, you choose when you want to do the integration work.
However, it would be nice to have some kind of mechanism that says: "Your project uses an outdated library, the latest version is X." This is currently not possible.
In addition, if you have nested external elements, pushing a change from the base library through 5 layers of links until it reaches the main project is a pain.
Jim t source share