用命令行CVS管理项目文件和目录发布文件和目录
在一个项目开发周期的某一点,管理你的项目源代码库总是包括对不希望的和陈旧的文件和目录的处理。例如,做出在一个模块里放弃某项功能的决定。或者可能一个底层修改要求去掉和移动一些文件。这一部分要介绍几种在CVS中处理这种文件管理问题的方法。 发布引用了一个指定某个将不再在项目中使用的目录或模块的方法。用于发布的命令会在一个工作拷贝种被调用,并能有效的取消对指定的目录和其下文件的CVS检出。除非这些文件和目录被明确的删除,否则它们会仍然存在于库中,包括所有的文件修改历史,但当工作拷贝被检出时,它们不会再被告括在其中。 用于发布文件和目录的命令是: cvs rel filename (or /directory_name) 更多关于发布 移除文件 移除是另一种当你不再希望或需要一些文件成为项目源代码库的一部分时去掉这些文件的方法。为了达到这个目的,你必须首先把文件从已经被你从本地机器上检出的工作拷贝中删除。 然后,为了从共享库移除文件,请键入: cvs remove filename 在你移除文件后,你必须提交你的修改。 使用"cvs remove" (或"cvs rm"),旧的文件不能被彻底的删除,而是连同它所有的修改历史被保存在CVS的所谓的"attic"里。 重命名和移动文件和目录 如果你已经导入了一些存在的源代码到你的库中,你可以拥有你希望重命令或移动的文件。 在你工作拷贝中重命名一个文件的最好方法包括了一系列的步骤。先使用: cvs rm old_filename 来移除旧的文件,然后用: cvs add new_filename 最后用: cvs commit new_filename 在CVS中还没有特殊的方法来移除和重命名目录。然而,你可以通过创建一个新的目录,然后把你需要的文件移到里面,再把不需要的文件从旧的目录中移除,并不再使用它来达到相同的效果。这以后,你可以在下次检出一个工作拷贝时剪掉这些空的目录,通过使用: cvs checkout -P 另一种剪掉没有文件再要升级的目录的方法是用: cvs update -dP 导出已存在的代码? 如果你要把已存在的文件添加到项目里,你可以使用下面的命令把这些文件导入到CVS: cvs import filename 导入允许你一次添加许多文件,如超级"cvs add"。为了导入所有已存在的目录和文件,请在你的顶层目录键入: cvs import -m "log message" projectname 这会在此站点的CVS库里为你的项目创建文件和目录。如果你想在保持这些文件和目录的原始状态,你可以在你或其他开发者开始检出项目文件的工作拷贝时之前,把这套原始的文件标记或存档。 如果你的已存在的文件已经--要么在另一个CVS库,要么在一个不同版本的系统,如RCS的版本控制之下--这里没有自动的将这些已存在的保留有文件历史的文件导入的方法。使用cvs导入命令,拷贝文件或者把它们作为新文件创建,不保留历史。 CVS和RCS 如果你已经熟悉了RCS,RCS和CVS都为存储单独文件的版本控制历史使用了相同的格式。但是你应该知道至少两个关键的不同之处:
关键字替换 关键字替换(也叫做关键字扩充)是一个可能对你有用的RCS延续。关键字实践上会让你永远的陷入在源文件的版本信息中。文件后来被修改时,一个包含关于一个特殊关键字的所有版本信息的字符串会被替代。 例如,包含: $Author: edk $ 在文件里会永远保留那些检入过修订版的用户的登录名。 关键字替换是一个一旦文件不再是CVS库的一部分时追踪文件版本的方法。关键字替换也能被配置和禁止。 更多关于关键字(包括常用关键字的列表) 标记和分流Tagging and branching 用于在此站点上的你的项目的CVS库支持分流和标记。在你项目的某些点上,你可以使你项目的开发工作在多个方向同时进行。CVS分流提供了一个为没有项目主要工作的紧张进度的次要开发转移或分离资源树的方法,而不是维持一个单一的,线性的开发道路。要分流的原因包括:
在分流和标记间的关键不同处是它们时被称赞操作的原因: 分流影响单独的文件的修订本编号,然而标记在一个固定的时间对所有项目文件分配了一个普通的识别标志。 因此,例如,项目文件经常在分支被创建的地方被标记。 最后,在你项目中有成功结果的分支将组合或合并回到开发的主干。当这种情况出现时 --它可能在大型的或长期的项目中重复出现 --确定合并出现的点是另一个创建一个标记的原因。 为了标记项目文件,请键入: cvs tag unique_tag_name 你的标记名可以是一个发布名或日期,一个产品版本标识符,或你的任何选择。 为了创建一个分支,请键入: cvs tag -b unique_tag_name 分流和标记是需要许多考虑和选择的复杂话题。你可以在下面的资源中找到更全面的信息和说明:
» 相关连接:
|
» 本栏目最新帖:
» 网站最新帖:
» 精华帖:
|