动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 操作系统 > Linux教程
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Linux教程 ]的信息



本月文章推荐
.Tar打包、压缩与解压缩到指定目录.
.活学活用Linux操作系统的后台任务.
.Ubuntu Linux系统启动速度慢的问.
.Linux文件系统被破坏时的处理方法.
.Linux 网管 123 --- 第7章. 自订.
.Linux内核2.6 的来龙去脉.
.The RCS MINI-HOWTO.
.网卡设置指南.
.Linux Shadow-Password-HOWTO - .
.Linux管理员手册(9)--Keeping Ti.
.Linux系统下安装Flash浏览器插件.
.Linux系统中静态库和动态库的生成.
.如何修改登录画面?.
.专家点评Linux下Firefox对IT行业.
.VIA公司兑现承诺 Linux支持网站正.
.轻轻松松的安装Slackware Linux .
.Fedora Linux系统下挂载U盘和Win.
.Linux 网管 123 --- 第10章. 升级.
.Fedora Linux 9:集当今最新技术.
.Fedora和XP双系统中网卡Realtek冲.

CVS RCS HOWTO 原始程式码版本控制系统 (1)

发表日期:2005-4-15 |


作者:Al Dev (Alavoor Vasudevan) alavoor@yahoo.com
译者:Cyril Huang cyril_huang@yahoo.com
v7.0, 20 Feb 2000 翻译日期: 5 April 2000 


--------------------------------------------------------------------------------
这份文件是一份 "实际操作的说明" ,以便於能使您很快的设定 CVS/RCS 原始程式码控制系统。这份文件里也有一些将 CVS 上常用的混合命令包成可设定的 shell scripts 。这些 scripts 为 CVS 提供了一个简单的使用者介面。这份文件的内容不仅能适用於 Linux 系统也适用於其他像 Unix 的系统,例如Solaris, HPUX, AIX, SCO, Sinix, BSD, SCO 等等。 
--------------------------------------------------------------------------------


    
--------------------------------------------------------------------------------

1. 简介
原始码控制系统是一个必须能管理那些在软体计划发展时原始码所做的改变。软体开发者需要一个完整的原始码改变历史纪录,以便於在发生问题时,能够追溯到以前稳定的版本。既然原始程式码对於任何的软体计划与开发,都是花时间与金钱中最关键的部分,所以花时间藉由使用原始码控制系统像 CVS 和 RCS 来安全的保护(safe-guarding)原始程式码是非常重要的。 

CVS (Concurrent Version Control System) 是一个能让很多程式开发者同时做软体开发的非常强大工具。它使用了RCS 的档案规定格式但多了一层像应用程式介面的包装,架在 RCS 的上层。 

(译注: RCS 是较老的版本控制,一个受 RCS 管制的档案看起来是这样子的 proj1.c,v ,CVS 沿用了一些 RCS 的规定。) 

CVS 能够纪录你的档案的历史纪录( 通常是原始程式码,但是其他型态的档案则不一定)。 CVS 只存了不同版本中档案的差异,而不是你所建立的每个版本中的每个档案。 CVS 也保持了一个何时,何人更改档案,为什麽更改档案等等不同观点的历史纪录。 

CVS 对於软体的发行和多人同时更改目前原始码的管理是非常的有帮助。他并不只是要对单一目录下的档案提供版本控制,相反的,CVS 更提供了多层有组织的目录档案的版本控制。在这个目录下除了你的原始程式码外,还包含有一个 CVS 所建立的改版控制目录与档案。 

这些目录与档案最後被合并在一起形成一个软体的发行。 

CVS 能被使用在 "C", "C++", Java, Perl, HTML 和其他档案。 



--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

2. 那一种版本控制系统适合我? CVS 或 RCS
CVS 实际上是架在 RCS 之上的, CVS 只是一堆更强大能控制一个有完整原始程式码阶层目录的工具。我们非常强烈的推荐您使用 CVS,因为您能够很有弹性的用 perl , korn bash shell 等 scripts 语言设定您自己的 CVS 系统。请看一些 korn shell scripts 的□例 Shell Scripts 。 

CVS 的优点 

CVS 是非集中式的管理,使用者从储存柜 (repository) 登出一个档案目录,并且有他自己的独立的稳定目录树。 
CVS 能够在发行整个计划的原始目录树中"盖上印记" ("STAMP")。 
CVS 能够使大家同时修改档案。 
CVS 能够用 shell scripts 或 perl 设定成档案锁住成单一使用或同时修改档案模式。 
CVS 的缺点 

需要比 RCS 多一点的管理。 
非常成熟复杂的系统,是目前应用上已有的最高技术。(感谢网友tsaipaw@mars.seed.net.tw来信指证我的错误) 
有丰富的命令还有命令选项,因此对於初学者来说有很陡的学习曲线。简单使用的 shell scripts 可在这里找到 Shell Scripts 。 
RCS 的优点 

RCS 非常容易设定。较少一些管理上的工作。 
RCS 用在一个每个人在一起工作的集中区域。 
RCS 对於简单的系统很有用。 
非常严谨的单一档案修改模式 - 同步与同时是不允许的。 
RCS 的缺失 

由於使用单一目录控制与档案锁住,不可能由很多的程式设计者做同时的开发。因为单一目录下很多人对档案的改变,会造成 make 的使用错误。 
不能对整个软体计划戳上发行(releases)的印记。 
这份文件也包含一些 shell scripts 以提供简单的命令来作登出 (check-out), 登录 (check-in), 送交(commit) 档案的动作。请看一些 shell scripts 的□例 Shell Scripts 。 

对於 RCS 而言,请看 Linux CD-ROM 里面的RCS mini-howto。 


--------------------------------------------------------------------------------

cd /mnt/cdrom/Redhat/RPMS
ls -l howto-6.0-*.noarch.rpm
rpm -qpl howto-6* | grep -i rcs 


--------------------------------------------------------------------------------
或者看 http://sunsite.unc.edu/LDP/HOWTO/mini/RCS-HOWTO.html
--------------------------------------------------------------------------------
    
--------------------------------------------------------------------------------

3. 设定 CVS 
首先,你需要安装 CVS 套件,在Redhat Linux 上请用 


--------------------------------------------------------------------------------

cd /mnt/cdrom/Redhat/RPMS
rpm -i rcs*.rpm
rpm -i cvs*.rpm
To see the list of files installed do -
rpm -qpl cvs*.rpm | less


--------------------------------------------------------------------------------
然後用 j, k, CTRL+f, CTRL+D, CTRL+B, CTRL+U 或上下左右键, page up/down 浏览一下结果。请用 'man less' 查看 less 的用法 
在其他的 unix 机器上,你可能需要下载 RCS CVS 的 tar.gz 档案,然後根据 README, INSTALL 档的指示来安装 CVS。请到 http://www.cyclic.com 和 http://www.loria.fr/~molli/cvs-index.html

3.1 CVS 的专有环境变数 
下列的环境变数需要在 /etc/profile 档中设定,/etc/profile 是对所有使用者都有效的内定值设定档,如果没有设定 /etc/profile,那麽你应该加这些设定到你自己的设定档  /.bash_profile 内。 


--------------------------------------------------------------------------------

export EDITOR=/bin/vi
export CVSROOT=/home/cvsroot
export CVSREAD=yes


--------------------------------------------------------------------------------

建造一个目录来存你原始程式码的储藏柜 (repository) 并且给予 unix group 与 user 读写的权力。 (译注:这个目录下将会有很多你将来的原始码。) 


--------------------------------------------------------------------------------

export CVSROOT=/home/cvsroot
mkdir $CVSROOT
chmod o-rwx $CVSROOT
chmod ug+rwx $CVSROOT


--------------------------------------------------------------------------------
要初始化你的 CVS ,并且从现在开始把你的原始程式码交给 CVS 管理。请做 - 
--------------------------------------------------------------------------------

cvs init

(译注;这个初始化的动作在於建造一个储藏柜,是一个目录$CVSROOT/。
同时 $CVSROOT/CVSROOT 也在此时被建造,这个模组目录下面是控制你CVS的administration files,
里面的档案做一些修改後,可以使CVS更强大好用。
$CVSROOT 下的目录每个都是 module 的意思,一个 module 可以就是一个专案计划。
但也可能是你把一个计划拆成很多 module ,不同 module 交给不同的 team 去发展。)

# 一定要换到想要 CVS 控制的计划目录下喔
cd $HOME/my_source_code_dir

# 把整个目录纳入管理用 import 命令
cvs import my_source_code_dir V1_0 R1_0  

(译注:其实是 cd 到你的project下後,cvs import 模组 vendor_tag release_tag,
不一定要是目录名称 my_source_code_dir,vendor_tag, release_tag 只是识别用的东西,
将来你可以用 tag 来存取你要的特定版本
这个动作会在 $CVSROOT/ 下开个" 模组 "的目录,然後把 my_source_code_dir 整个放到 CVS 下管理,
$HOME/my_source_code_dir 就没用了。import 的动作是把已经写好的一堆 code 摆进来,
如果将来想新增档案xxxx.c,必须先写好xxxx.c,再用 cvs add xxxx.c)


--------------------------------------------------------------------------------

3.2 从 RCS 转换到 CVS 系统 
要转换已经存在的 RCS 档案到 CVS ,请使用下面的 script 。并确定你从你的 Linux CD-ROM 安装了 korn shell 套件 pdksh*.rpm。 


注意 : Korn shell /bin/ksh 在你从Linux CD-ROM 安装 pdksh*.rpm 时就会产生 


--------------------------------------------------------------------------------

#!/bin/ksh

#############################################################
# Program to Migrate the existing source code in RCS to CVS 
#
# Needs the korn shell RPM package  pdksh*.rpm from Linux 
# contrib cdrom
#############################################################

#
# rcs2cvs - convert source tree from RCS to CVS
#

# project to convert
PROJECT='project'

# current RCS root
RCSROOT="$HOME/rcs"

if cd "$RCSROOT/$PROJECT"
then
        cd "$RCSROOT"
else
        echo >&2 "`basename "$0"`: can't change to RCS directory '$RCSROOT/$PROJECT'."
        exit 1
fi

# current CVS root
CVSROOT="$HOME/cvs"

# create new CVS directory for project 'project'
if mkdir "$CVSROOT/$PROJECT"
then
        :
else
        echo >&2 "`basename "$0"`: can't create CVS directory '$CVSROOT/$PROJECT'."
        exit 2
fi

# create CVS project tree from RCS tree
find "$PROJECT" -type d -name RCS -print |
while read RCS
do
        CVS="`dirname "$RCS"`"
        (if cd "$RCS"
        then
#               if find . -type f -name '*,v' -print | cpio -pdmv "$CVSROOT/$CVS"
                if find . -type f -print | cpio -pdmv "$CVSROOT/$CVS"
                then
                        :
                else
                        echo >&2 "`basename "$0"`: can't convert RCS subdirectory '$RCSROOT/$RCS' to CVS subdirectory '$CVSROOT/$CVS'."
                fi
        else
                echo >&2 "`basename "$0"`: can't change to RCS subdirectory '$RCSROOT/$RCS'."
        fi)
done


--------------------------------------------------------------------------------
现在 RCS 已经被改成 CVS 系统下的 'project'. 你可以开始用CVS命令来存取 'project' 这个模组了. 
--------------------------------------------------------------------------------

上一篇:CVS RCS HOWTO 原始程式码版本控制系统 (2) 人气:7783
下一篇:Linux 2.4 NAT HOWTO 人气:7395
浏览全部Linux的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-7-5 360安全卫士 V4.2.0.1004
2008-7-5 PHPDug v2.0 多国语言版
2008-7-5 乘风电影程序 v3.69 (SQL)
2008-7-5 乘风电影程序 v3.69
2008-7-5 wfTextImage文字图像组件 v1.5
2008-7-5 ZY music! v1.1.0705
2008-7-5 FavShop网店系统 v1.0
2008-7-4 天空网络电影系统SKYUC v2.5.1 B
2008-7-4 Drupal v7.x-dev Build 080704
2008-7-5 AgileMessenger即时通讯工具 v1.
2008-7-5 GoodCalculator2.0版固件计算器
2008-7-5 RepoName源地址搜索工具 v1.21b
2008-7-5 AgileMessenger即时通讯工具 v1.
2008-7-5 TouchCopy多媒体管理软件 v3.13完
2008-7-5 VideosTone视频铃声 v1.1汉化破解
2008-7-5 TouchPad触摸板 v4.44破解版
2008-7-5 VideosTone破解补丁 v1.0
2008-7-5 Feeds GoogleReader客户端 v0.4.3


  发表评论
姓 名: 验证码:
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報