linux用cvs提交新文件夹,使用CVS进行项目开发管理

本文介绍了RCS和CVS两种版本控制系统的基本使用。RCS支持$Id$等关键字,用于记录文件信息,如作者、版本和日期。CVS则需要设置CVSROOT环境变量或使用-cvs-d选项指定仓库路径。通过cvsimport命令,可以将项目导入CVS仓库,便于版本管理和协同开发。CVS提供rcsdiff命令用于不同版本间的文件对比。
摘要由CSDN通过智能技术生成

int main

(void)

{

printf ("Hello World\n");

printf("checkoutwithlock\n");

return 0;

}

ci 之后,然后取出,文件将变成:

/*$Id: hello.c,v

1.3

2001/02/22 16:16:58 kerberos Exp kerberos $

*/

#include

int main (void)

{

printf ("Hello

World\n");

printf ("check out with lock\n");

return 0;

}

$Id$

关键字是用文件名、版本、时间、作者

及代码性质替换,如果使用-l选项取出,在Exp后面会加上登录用户的名称。除了$Id$关键字,RCS还支持下面常用的关键字:

$Log$ : 你所提供的修改日志信息。

$Author$ :存入该版本的作者。

$Locker$ :

该版本的加锁者

$State$ : 该版本的状态 Exp(试验版), Stabe(稳定版), Rel(发行版).缺省是Exp

$Date$ :

该版本存入的时间,使用UTC时间格式。

$Revision$ : 该版本的版本号

$RCSfile$ : RCS文件名

$Source$ : RCS全路径名

$Name$ : 取回该版本的符号名

$Header$ : 相当于$

Source

$$ Revision$$Date$$Author

$$State$$Locker$的组合在UNIX/Linux下有一个diff工具可以比较两个文件的不同,rcsdiff可以在不同的版本之间比较文

件的不同,而不必取出文件,如:

rcsdiff hello.c 比较当前hello.c文件与RCS仓库中最新版本的区别。

rcsdiff -r1.1

hello.c

比较当前hello.c文件与hello.c的1.1版本的区别。

rcsdiff -r1.2 -r1.1 比较hello.c

文件的1.1版本和1.2版本的区别。

使用这个命令,可以很方便的做出任意版本之间的补丁文件。

另外,还有其他一些不常用的RCS命令,读者可以参考更详细的资料。

CVS使用

下面我们就讲一下CVS的使用和管理。

在使用CVS之前,必须要指定CVS的根路径,不像RCS是工作在工作目录下的RCS目录下。指定CVS路径的方法有两种,一种

是使用cvs-d

选项指定,如:

cvs -d /home/kerberos/cvsroot

指定/home/kerberos/cvsroot为CVS仓库的路径。

另外一种是使用CVSROOT环境变量指定(bash下):

export

CVSROOT=/home/kerberos/cvsroot

无论何种方式,每当重新开启一次终端会话,CVS仓库的路径都要重新设置,你可以把以上的后者加入到其实目录下的.bashrc

文件中,这样开启一次终端会话后,不需要重新设置了(对于其他的环境变量的设置也是如此)。如果你的CVSROOT环境变量已经存在,可以使用cvs

-d

选项来指定不同于CVSROOT所指定的CVS仓库。然后初始化CVS仓库,建立CVS维护所需要的一些文件和信息,CVS把这些信息存放在CVS仓库主

目录的CVSROOT目录下。这些文件,除了modules

,其他文件都没有手动修改的必要,modules

文件定义了CVS的导出模块在CVS仓库中的位置,这一点在从CVS仓库中导出一个深层目录时是非常方便的。

cvs init

初始化之后,我们使用cvs

import来把需要进行版本维护的开发项目的目录结构导入到CVS仓库中,如下:

建立好项目的目录结构以后,当前的testprj目录的结构是这样的:

[kerberos@power

zhyf]$ tree

testprj

testprj

|-- admin

|-- doc

|-- include

|--

libs

`-- src

|-- include

`-- main

7

directories, 0

files

cvs

import有三个参数:第一个是这个目录树在CVS仓库中的模块名称,第二个是发布者的一个标志,第三个是这个项目的版本标记(tag)。下面,我们把

testprj导入到CVS仓库中,使用testprj

模块名称。

[kerberos@power testprj]$cvs import testprj KERBEROS INITVER

执行命令以后,CVS会调用CVSEDITOR指定的编辑器来让你输入日志,如果CVSEDITOR没有定义,缺省调用vi,可

以使用export命令指定你自己喜欢使用的编辑器。输入日志以后,CVS把当前的目录结构导入CVS仓库中,并且使用testprj这个模块名称,在导

出文件时,就可以使用

cvs co testprj 来导出。

"/tmp/cvscVxZnW" 5L, 242C written

cvs

import: Importing /home/zhyf/cvsroot/testprj/admin

cvs import:

Importing

/home/zhyf/cvsroot/testprj/libs <>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值