Version control 在CVS中移动文件而不重置修订号
最近我在我们的源代码树中移动源文件。例如,将一组文件放入公共程序集中。我一直在这样做,从CVS中删除文件,然后在新位置再次添加它。问题是文件的修订号重置回1.1。是否有一些简单的方法可以在不重置数字的情况下移动东西 我可能应该提到,我没有访问存储库的权限,因此任何需要的东西都不会帮助我,但可能会帮助其他人。有一些关于如何做到这一点的详细信息: 移动文件的正常方法是发出cvs重命名命令 $cvs重命名旧的新的Version control 在CVS中移动文件而不重置修订号,version-control,cvs,Version Control,Cvs,最近我在我们的源代码树中移动源文件。例如,将一组文件放入公共程序集中。我一直在这样做,从CVS中删除文件,然后在新位置再次添加它。问题是文件的修订号重置回1.1。是否有一些简单的方法可以在不重置数字的情况下移动东西 我可能应该提到,我没有访问存储库的权限,因此任何需要的东西都不会帮助我,但可能会帮助其他人。有一些关于如何做到这一点的详细信息: 移动文件的正常方法是发出cvs重命名命令 $cvs重命名旧的新的 $cvs commit-m“将旧的重命名为新的” 这是移动文件的最简单方法。它不容易出错
$cvs commit-m“将旧的重命名为新的” 这是移动文件的最简单方法。它不容易出错,并且保留了所做工作的历史记录。CVSNT客户端可以通过签出存储库的旧版本来检索原始名称 此功能仅在CVSNT服务器2.0.55及更高版本上受支持
这不是CVS的已知缺陷之一吗?没有内置的文件移动机制?但是,我已经很久没有使用它了,所以现在可能有一个解决方案
Subversion将允许您移动文件,但这也将被跟踪,以便新文件获得最新的修订号。最简单的方法是访问您的repo所在的cvs服务器,只需使用mv移动文件夹/文件(假设使用*nix机器)。这样,文件的历史记录将被保留。无法使用仅限客户端的命令移动文件。您需要访问服务器文件系统,并且可以将存储库中的“、v”文件移动到新位置。这将保留所有历史记录,因为CVS将每个修订及其注释记录在该文件中 请记住,删除文件时,文件会移动到“阁楼”子文件夹中(从客户端看不到)。这是删除文件后恢复文件的方式 一般来说,这种方法没有立即出现的问题,但是你必须考虑后果,如果你决定检查一个早期版本的产品,它可能依赖于先前的目录结构。p>
这就是其他版本控制系统(如Subversion)的优势所在。实现此效果的公认方法是执行以下步骤。这方面的技术术语是副本
此过程在其新位置维护文件历史记录,并且不会中断存储库的向后连续性。如果您及时向后移动,文件将正确显示在其旧位置。您也可以使用相同的过程重命名文件。移动时使用-v选项似乎会保留您的版本历史记录,请参见下文 CVS重命名文件很麻烦。 从存储库的角度来看,您 只需删除文件或添加新文件即可。 因此,通常的过程是 mv oldfile.c newfile.c cvs delete c cvs add newfile.c 这确实有效,但你失去了所有 更改您想要写入的信息 在提交操作中 艰难的发展,这可能是 不是你想要的。但是有一种方法; 您必须可以直接访问 存储库。首先,去那里,找到 项目所在的目录,并执行以下操作 以下是: cp oldfile.c,v newfile.c,v 现在转到您的工作目录并 进行cvs更新;c将 显示为新文件。现在你可以开始了 删除oldfile.c并提交
常规CV呢?据我所知,CVSNT是windows。