免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 790 | 回复: 0
打印 上一主题 下一主题

ubuntu cvs 安装与配置 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-07-23 14:41 |只看该作者 |倒序浏览

                                                [color="#02368d"]ubuntu cvs 安装与配置
1. 安装 cvs
$ sudo apt-get install cvs
2. 安装 cvsd
$ sudo apt-get install cvsd
cvsd安装以后, 会提示设置“repository” 的位置location, type in "/cvsroot".
“RootJail” is setted in “/etc/cvsd/cvsd.conf”, the default value is /var/lib/cvsd.
This means, your repository location could be just “/cvsroot”
3. 创建 /myrepos。
$ cd /var/lib/cvsd
$ sudo mkdir cvsroot
4. 初始化 /cvsroot
$ sudo cvs -d /var/lib/cvsd/cvsroot init
5. 设置cvsd用户鉴定(user authentication)
normal it’s system level, and the cvs users should be configured independently.
$ sudo vi /var/lib/cvsd/cvsroot/CVSROOT/config
添加下面行:
SystemAuth=no
PamAuth=no
LockDir=/tmp/cvsroot
Look out! “/tmp/cvsroot” 和RootJail的位置是相关的.
6. 创建 LockDir
$ sudo mkdir /var/lib/cvsd/tmp/cvsroot
7. 创建 users
$ sudo cvsd-passwd /var/lib/cvsd/cvsroot cvs-user
8. 编辑 cvsd configuration
$ sudo vi /etc/cvsd/cvsd.conf
The default one should be:
RootJail /var/lib/cvsd
Repos /cvsroot
NOTICE! Repos路径也是和RootJail相关的.
9. Set directory’s popedom
$ sudo chown cvsd:cvsd /var/lib/cvsd -R
10. Restart cvsd
$ sudo /etc/init.d/cvsd restart
               
               
               
test cvs
cvs -d :pserver:mcl@localhost:/cvsroot login
cvs -d :pserver:mcl@localhost:/cvsroot checkoutpserver认证方式使用缺省端口,不使用代理.
若使用ssh认证方式,需要进行如下设置:
配置.ssh/config 和 .bashrc文件
$ cd ~
$ vi .ssh/config
添加内容为:
Host localhost
HostKeyAlias cvsserver
Hostname 192.168.11.134
Port=22
$chmod 600 .ssh/config
$ vi .bashrc
添加内容:
CVS_RSH=ssh
CVSROOT=:ext:mcl@localhost:/cvs
export CVSROOT
export CVS_RSH
有可能还需要进行PATH设置,然后export PATH
$source .bashrc
然后就可以使用了
cvs co 目录文件名
cvs update 目录文件名
关于本地CVS sever的相关测试还没试,这个需要进一步学习cvs的命令,进行相应部署,之后再研究下,:)
参考:http://www.yehuang.net/archives/date/2007/03/page/2/中

Ubuntu cvs installation and configuration
cvsweb安装
sudo apt-get install cvsweb
sudo cp /usr/share/cvsweb/* /var/www
sudo vi /etc/cvsweb/cvsweb.conf //将路径指向你的仓库,并设置    "hidecvsroot" => "1",
                               
                                CVS常用指令(部署中会涉及到CVS的使用)
                          
                          
                          
                          
                          
                          
                          
                  
                  
      
      
                         
                               
                       
          
          
                         
                                   
                                 
                              
                                                    1.导入一个源代码库:
  源代码库在目录/home/weiqiong/project,其下有文件test.c和test.h
  shell>cd /home/weiqiong/project
  shell>cvs import -m "test project" test(需要导入的项目名) weiqiong(开发商信息) start(版本信息)
  2. 获得第一份工作copy
  shell>cd /home/weiqiong
  shell>cvs checkout test
  则目录/home/weiqiong/test中就会有test.c和test.h两个文件
  3. 寻找工作记录(-Q为去除无关的提示文字)
  shell>cvs -Q update(将cvs上的更新下载到本地)
  shell>cvs -Q diff -c(比较cvs上和本地的代码的不同)
  如果希望某一特定文件的变化,在最后加上文件名
  4. 浏览记录信息
  shell>cvs log test.c
  5. 查看两个版本的不同之处:
  shell>cvs diff -c -r 1.3 -r 1.4 test.c
  6. 恢复旧版本:如果当前最新版本为1.4,而你想将其恢复到1.3版本,重新建立一个新版本1.5
  shell>cvs -Q update -p -r 1.3 hello.c > hello.c
  shell>cvs update hello.c
  shell>cvs ci -m "reverted to 1.3 code" hello.c
  或者
  shell>cvs update -j 1.4 -j 1.3 hello.c
  shell>cvs update hello.c
  shell>cvs ci -m "reverted to 1.3 code" hello.c
  7. 增加文件
  vi newfile
  cvs add newfile(若为二进制文件则用cvs add -kb readme.doc)
  cvs ci -m "add newfile" newfile
  8. 删除文件
  rm newfile.c
  cvs remove newfile.c
  cvs ci -m "removed newfile.c" newfile.c
  9. 增加目录
  mkdir newdir
  cvs add newdir
  10. 若要增加多层次的项目子目录,则需要服务器端加入目录,客户端add是很麻烦的
  服务器端加入多层目录和文件后,客户端需要
  cvs update -d 获取最新的目录更新,但是文件的添加必须由客户端add
  11. 删除目录:需要先删除目录下的文件
  cvs update -P 从工作copy中删除空目录,但是源代码库依然保留着空目录
  如果需要更新工作copy的目录与源代码库完全一直(主要是包括空目录),需要
  cvs update -d
  12. 导出不带CVS目录的源文件,export只能针对一个TAG或者日期导出,空目录不会被导出:
  cvs export -r release1 project_name
  cvs export -D 20021023 project_name
  cvs export -D now project_name
  13. 确认版本里程碑
  cvs tag release_1_0
  14. 开始一个新的里程碑,标记所有文件开始进入2.x的开发
  cvs commit -m "make all release 2.0" -r release_2_0
  15. 版本分支的建立
  在开发项目的2.x版本的时候发现1.x有问题,但2.x又不敢用,
  则从先前标记的里程碑:release_1_0导出一个分支release_1_0patch
  cvs rtag -b -r release_1_0 release_1_0patch projname
  一些人先在另外一个目录下导出release_1_0patch这个分支:解决1.0中的紧急问题,
  cvs checkout -r release_1_0patch
  而其他人员仍旧在项目的主干分支2.x上开发
  在release_1_0patch上修正错误后,标记一个1.0的错误修正版本号
  cvs tag release_1_0patch_1
  如果2.0认为这些错误修改在2.0里也需要,也可以在2.0的开发目录下合并release_1_0patch_1
  中的修改到当前代码中:
  cvs update -j release_1_0patch_1
  16.修改某个版本注释:
  每次只确认一个文件到CVS库里是一个很好的习惯,但难免有时候忘了指定文件名,
  把多个文件以同样注释commit到CVS库里了,以下命令可以允许你修改某个文件某个版本的注释:
  cvs admin -m 1.3:"write some comments here" file_name
  17.在注释中可以加入以下宏,cvs会自动将其替换为相应的项
  $Id$ $Header$ $Author$ $Date$ $Revision$ $Log$ $Source$ $Name$
  18.查看当前各文件的状态,包括文件的当前编辑版本号,源代码库版本号,文件的状态
  cvs status filename
  19.粘着选项
  cvs update -D "1999-04-09"
  删除粘着,回到当前最新版本
  cvs update -A
  20.导入一个目录
  比如当前目录为jni,下面有很多新建的文件需要导入到cvs:
  cvs import java/com/capitalonline/xmail/MailApi/jni weiqiongimport R1_0_0_0
               
               
               
               
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/91468/showart_2004596.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP