Version control 从一个源代码管理工具转换到另一个源代码管理工具。有什么建议吗?

Version control 从一个源代码管理工具转换到另一个源代码管理工具。有什么建议吗?,version-control,perforce,Version Control,Perforce,最近有人告诉我,我必须将我们的Perforce存储库迁移到TrueChange。直到那时我才听说TrueChange。到目前为止,我已经使用了cvs、subversion、vss和perforce。我正在努力寻找任何智慧的话语来实现这一转变,以及从真正的改变中期待什么。我喜欢与Perforce一起工作,我发现向它的过渡相当简单 你能帮我吗?我正在使用VS2005、RAD和CruiseControl。自1999年9月以来,我一直在使用TRUEchange,我认为您很幸运,您被告知必须从Perfor

最近有人告诉我,我必须将我们的Perforce存储库迁移到TrueChange。直到那时我才听说TrueChange。到目前为止,我已经使用了cvs、subversion、vss和perforce。我正在努力寻找任何智慧的话语来实现这一转变,以及从真正的改变中期待什么。我喜欢与Perforce一起工作,我发现向它的过渡相当简单


你能帮我吗?我正在使用VS2005、RAD和CruiseControl。

自1999年9月以来,我一直在使用TRUEchange,我认为您很幸运,您被告知必须从Performance迁移到TRUEchange

我曾与许多开源、国产和商用CM软件系统合作,到目前为止,TRUEchange是我使用过的最好的产品

让TRUEchange如此出色的四件事(不止四件——以下是四个关键因素):

  • 基于更改集而不是基于文件差异的更改。如果50个文件作为一个组签出、修改,然后重新签入,那么对这50个文件的更改就是一个称为更改集的单元。TRUEchange比我使用过的任何CM软件都能更好地处理并发并行基线。CSET可以迁移到编号较低的基线,也可以迁移到编号较高的基线。迁移/合并冲突很少,客户端中有一个内置的3向合并工具,允许用户极其轻松地处理冲突。更改集可以从特定版本中删除(以任何顺序),并可以添加回。如果在5个不同的更改集中对一个文件进行了5次更改,则可以删除第2次更改,同时保留更改1、3、4和5不变。它还保存完整的元数据,以支持将文件从一个目录移动到另一个目录、重命名文件或重命名目录。可以删除文件,并且存在删除文件的更改集。由于删除文件的更改集保留了文件的文件id、文件名和父目录,因此可以随时恢复文件,而无需再次将其加载到系统中。恢复文件时,将恢复更改历史记录

  • 基于项目版本而不是基于文件版本。当检查某个版本时(类似于标记),整个项目中所有文件的内容都作为一个单元记录。不必跟踪5000个文件的单个版本号,只需跟踪包含这些文件的项目的检查点即可。维护为QA或部署构建的历史记录“非常简单”,因为不必跟踪文件版本。TRUEchange在Unix/Linux、Windows或VMS文件系统上,使用构建配置将相关项目和文件提取到的文件路径组合在一起。我们使用三段版本号,如2.1.0。版本的第一个构建(或迭代)是2.1.0.1。第二个是2.1.0.2,依此类推。当我们运行构建并完成时,我们获取构建配置的详细信息,并将数据插入到两个数据库表中。一个表包含构建配置级别信息,如构建配置名称、主要版本号、次要版本号、子版本号、迭代、描述标题、构建类型(QA或生产)以及完成日期和时间。另一个表包含一个外键,该外键指向第一个表中的生成配置级别行,并包含项目名称、主版本号、次版本号、子版本号以及来自用于运行生成的检查点的迭代。通过构建配置级别信息和项目级别信息,我们可以查询数据库并立即知道任何构建运行的确切内容。我们目前拥有自2001年9月以来的构建历史-近33500个构建和超过228000个儿童记录。在一两分钟内,我可以为过去8年中的任何构建运行重新创建源目录结构,并且知道它绝对准确,与最初的构建运行完全相同。如果我必须使用基于文件版本的CM系统,那么重新创建任何给定的构建都需要相当长的时间

  • 命令行命令、Windows GUI、Java GUI客户端(StreamCM)、可定制性和可靠性。TRUEchange有大量的命令行命令,允许高度自动化。使用shell脚本和PHP,我们已经能够开发完全自动化的构建周期和定制的web界面,供开发人员与CM系统交互。开发构建以配置管理用户的身份运行,从TRUEchange检索文件从网页运行。这保证了由工程师签入的代码将在CM运行时生成。StreamCM在多种平台上运行—Unix(Solaris、AIX、HP-UX、Irix等)、Linux(Red Hat、Fedora、Gentoo等)、Windows(XP、Vista)和MacOS(PPC和Intel)。这个统一的接口允许开发人员使用多个平台,并且无论操作系统如何,客户端的行为都是相同的。TRUEchange可以使用脚本语言进行高度定制。我们定制了TRUEchange,以便与在PostgreSQL下运行的CM数据库交互,因此基于web的应用程序可以从数据库中读取元数据,而不是查询CM系统。我们还定制了TRUEchange,通过与Oracle数据库的连接与Mercury Interactive Test Director中的问题跟踪系统进行交互。它是高度可靠的。在近10年的时间里,我们遇到了一次存储库故障,需要返回备份—由于磁盘错误。由于TRUEchange维护针对每个存储库发布的事务,因此我们能够按照最初应用的顺序重播修改存储库的事务。这是一个使用较少的存储库,但