流是包含一个或多个组件的存储库对象。组件是一组相关的工件,例如 Eclipse 插件或者一组包含 Web 站点内容的文档。
源代码受控制的工件分组到组件中。任何一组共享公共根的文件和文件夹都可以是一个组件。流是一个或多个组件的集合。
流与其他源代码控制管理系统中的分支类似,但具有许多其他功能。存储库中的任何组件都可以包括在零个或多个流中。一个流最多只能包含任何组件的一个版本。通过使用多个流,开发组织就可以处理那些使用相同组件的不同版本的项目。例如,专门用于开发新软件发行版的流将包含该发行版中组件的最新版本,而另一个专门用于维护该软件发行版的先前版本的流最初将包含该发行版先前包含的组件版本。
流和组件是存储库对象。由于它们对工作空间内容进行编目,因此您必须先创建存储库工作空间,然后才能创建组件或流。在创建存储库工作空间并通过检入项目将项目添加到该工作空间后,可以将项目组织成各个组件。
流和组件不是在本地工作空间中定义的。存储库工作空间中每个组件中的文件和文件夹对象都作为文件和文件夹被装入到本地文件系统。将仅装入每个文件或文件夹的一个版本(即,您创建工作空间时指定的基线或流所选择的版本)。
本地工作空间可以装入一个组件的多个版本(如果本地工作空间包含多个存储库工作空间的内容,那么可能会发生这种情况),但对于一个组件,在本地工作空间中每次只能存在该组件的一个版本。在提示您允许覆盖之后,从一个存储库工作空间装入该组件将覆盖先前从另一个存储库工作空间中装入的内容。