Un flux est un objet de référentiel qui inclut un ou plusieurs composants. Un composant est une collection d'artefacts associés, tels qu'un plug-in Eclipse ou un groupe de documents qui comprennent le contenu du site Web.
Les artefacts soumis au contrôle des sources sont regroupés sous la forme de composants. Tout fichier ou dossier qui partage une racine commune peut être un composant. Un flux est une collection d'un ou plusieurs composants.
Les flux sont similaires aux branches qui composent les systèmes de gestion du contrôle des sources tout en offrant des capacités supplémentaires. Tout composant d'un référentiel peut être inclus ou non dans des flux. Un flux ne peut inclure qu'une seule version de composant. En faisant appel à plusieurs flux, une organisation de développement peut travailler sur des projets utilisant des versions différentes d'un même composant. Par exemple, un flux dédié au développement d'une nouvelle édition de logiciel pourrait inclure la version la plus récente des composants concernés, tandis qu'un autre, dédié à la maintenance d'une version antérieure de ce logiciel, pourrait inclure initialement les versions des composants faisant partie de cette édition.
Les flux et les composants sont des objets de référentiel. Vous devez créer un espace de travail de référentiel avant de créer un composant ou un flux car celui-ci catalogue le contenu de l'espace de travail. Après avoir créé un espace de travail de référentiel et ajouté des projets à celui-ci (par le biais d'une restitution), vous pouvez organiser les projets en composants.
Les flux et les composants ne sont pas définis dans un espace de travail local. Les objets de fichier et de dossier contenus dans chaque composant d'un espace de travail de référentiel sont chargés dans le système de fichiers local en tant que fichiers et dossiers. Une seule version de chaque fichier ou dossier (correspondant à celle sélectionnée par la version de référence ou le flux que vous avez spécifié lors de la création de l'espace de travail) est chargée.
Un espace de travail local peut charger plusieurs versions d'un composant (lorsque celui-ci inclut le contenu de plusieurs espaces de travail de référentiel), mais une seule à la fois peut être présente dans l'espace de travail local. Le contenu préexistant provenant d'un espace de travail de référentiel différent est remplacé lors du chargement d'un nouveau composant, une fois que vous avez répondu oui à l'invite du système.