什么是CVS服务器?

什么是CVS服务器?,第1张

CVS(Concurrent Version System)版本控制系统是一种GNU软件包,主要用于在多人开发环境下的源码的维护。实际上CVS可以维护任意文档的开发和使用,例如共享文件的编辑修改,而不仅仅局限于程序设计。CVS维护的文件类型可以是文本类型也可以是二进制类型。CVS用Copy-Modify-Merge(拷贝、修改、合并)变化表支持对文件的同时访问和修改。它明确地将源文件的存储和用户的工作空间独立开来,并使其并行 *** 作。CVS基于客户端/服务器的行为使其可容纳多个用户,构成网络也很方便。这一特性使得CVS成为位于不同地点的人同时处理数据文件(特别是程序的源代码)时的首选。
所有重要的免费软件项目都使用CVS作为其程序员之间的中心点,以便能够综合各程序员的改进和更改。这些项目包括GNOME、KDE、THE GIMP和Wine等。
CVS的基本工作思路是这样的:在一台服务器上建立一个源代码库,库里可以存放许多不同项目的源程序。由源代码库管理员统一管理这些源程序。每个用户在使用源代码库之前,首先要把源代码库里的项目文件下载到本地,然后用户可以在本地任意修改,最后用CVS命令进行提交,由CVS源代码库统一管理修改。这样,就好象只有一个人在修改文件一样,既避免了冲突,又可以做到跟踪文件变化等。(

1、保证CVS服务器已经启动成功,正常运行;
2、启动Eclipse
3、打开需要变更CVS仓库IP地址的项目工程;
4、从项目工程后面可以看出当前的CVS仓库的IP为198101018,我们现在的目的要把他改成,1981020137;
5、从Eclipse的Windows-->Show View-->Other-->CVS-->CVS Repositoris
6、此时在CVS Repositoris的TAB中就可以看出以前所建立的CVS仓库历史
5、首先把工程与CVS仓库断开
6、在提示窗口中选择"保留CVS相关记录信息"
7、 *** 作Disscount完后的界面如下图所示,工程后面已经没有CVS仓库的IP地址了;
8、现在重新把刚才断开项目,进行Share Project的 *** 作,如下图所示,记住把Valiate xxxx finished的钗去掉
9、 *** 作完成后,在工程项目中已经有CVS 仓库的IP了,在CVS的TAB中也有这个198102018的记录了,
10、此时点击右键进入属性设置界面如下图所示:把其中的IP改为你想改的IP,这里是:1981020137
11、当改完以后,上面有一行红色的报错信息,意思是已经有这个路径了,需要把这个路径删除后,再 *** 作;
12、点击右键
13、点击Disscount路径来删除这个记录
14、此时的198102018的CVS仓库记录已经没有了,被删除了;
15、此时重新对198102018进行更改IP的删除,还是右键出现属性菜单;
16、把其中的IP198102018更改为:1981020137,现在已经不报错了;
17、点击应用,出现如下界面点击OK,
18、点击OK,这个工作如果有Shared这个仓库了,将要更新相关信息,你输入的;
19、此时工程后面已经变为:1981020137这个CVS仓库IP了;
20、进行相关CVS仓库的更新 *** 作;
21、出现输入密码 *** 作;
22、正常进行更新相关信息;
23、没有相关需要更新的文件;
24、到此CVS 仓库IP地址更改已经完成;

天互数据 为您解答,希望能帮到你
服务器端工作环境:
a *** 作系统:Linux(CentOS63-64bit)
b 安装CVS Server/Client版本:cvs-11123。(Linux下CVS的安装、配置与使用(一):安装与本地使用)
客户端工作环境:
a *** 作系统:Windows7(64bit)
b 可视化CVS客户端:TortoiseCVS version1125。TortoiseCVS 是一款在Windows上运行的CVS客户端,摆脱了传统cvs的命令行交互方式,取而代之是更加直观的界面 *** 作,当然底层的交互还是基于cvs命令。TortoiseCVS的另一个重要的特点就是完全结合到资源管理器的鼠标右键菜单中进行 *** 作,异常简单和方便。
2 服务器端的配置
a cvs -v查看CVS是否已经安装,如果没有安装先按照文章(一)安装
[root@localhost Desktop]# cvs -v
Concurrent Versions System (CVS) 11123 (client/server)
Copyright (C) 2006 Free Software Foundation, Inc
b 设置系统用户组
假设我们部门有两个项目组,代号分别是长江和黄河。正常情况下,长江组的成员不能去导出或者修改黄河组的代码,反过来也一样。为了限制不同项目组的权限,我们必须设置不同的系统用户组。另外我们可能还需要一个管理员,拥有并管理所有的项目组代码库。综上,我们设置CJ_GRP、HH_GRP系统用户组对应长江和黄河两个项目组,另外设置cvsroot用户作为资源库(repository)的所有者。
[root@localhost ~]# groupadd CJ_GRP
[root@localhost ~]# groupadd HH_GRP
[root@localhost Desktop]# useradd cvsroot
c 设置各个用户组的用户
现在我们已经有两个个不同的用户组,接下来就是把开发人员的账号 加到各自的项目组中,并设置密码。假设cj_dev和hh_dev分别为长江和黄河项目组的开发人员账号。
[root@localhost ~]# useradd -g CJ_GRP cj_dev
[root@localhost ~]# useradd -g HH_GRP hh_dev
[root@localhost cvsroot]# passwd cj_dev
Changing password for user cj_dev
New password:
Retype new password:
passwd: all authentication tokens updated successfully
[root@localhost cvsroot]# passwd hh_dev
Changing password for user hh_dev
New password:
Retype new password:
[root@localhost ~]# id cj_dev
uid=504(cj_dev) gid=507(CJ_GRP) groups=507(CJ_GRP)
[root@localhost ~]# id hh_dev
uid=505(hh_dev) gid=508(HH_GRP) groups=508(HH_GRP)
d 指定资源库(Repository)
切换到cvsroot用户,在/home/cvsroot/目录下新建一个cvsrepo目录,并指定为我们的代码库
[root@localhost ~]# su cvsroot
[cvsroot@localhost root]$ cd
[cvsroot@localhost ~]$ mkdir /home/cvsroot/cvsrepo
[cvsroot@localhost ~]$ cvs -d /home/cvsroot/cvsrepo/ init
指定repository之后,/home/cvsroot/cvsrepo/目录下生成了一个CVSROOT的目录,用以对repository的管理。
e 导入(import)项目模块(module)
我们在/home/cvsroot/下新建cj_pro和hh_proj分别表示长江和黄河两个项目的文件夹,并到各自目录下将项目的文件导入repository。
[cvsroot@localhost ~]$ mkdir /home/cvsroot/cj_proj
[cvsroot@localhost ~]$ mkdir /home/cvsroot/hh_proj
[cvsroot@localhost ~]$ cd /home/cvsroot/cj_proj
[cvsroot@localhost cj_proj]$ cvs -d /home/cvsroot/cvsrepo/ import -m "changjiang project" cj_proj vendortag releasetag
No conflicts created by this import
[cvsroot@localhost cj_proj]$ cd /home/cvsroot/hh_proj/
[cvsroot@localhost hh_proj]$ cvs -d /home/cvsroot/cvsrepo/ import -m "huanghe project" cj_proj vendortag releasetag
No conflicts created by this import
f 设置Repository里各项目模块文件的权限
通过cvs import命令导入项目模块后,repository目录下就多了我们导入的两个项目模块。为了区别不同项目组的权限,把项目模块的所属的组改为各自项目对应的用户组(得切换到root用户才有权限修改)。另外,还要注意的是开发人员访问各自的项目目录时,需要在CVSROOT生成lock文件,所以CVSROOT必须对项目开发人员有读写权限。我们可以新增一个CVS_GRP组,使之成为各个开发人员的附加组。同时该CVSROOT目录所属的组为CVS_GRP,这样各个开发人员都有权限在CVSROOT创建lock文件,从而能够正常地导入导出项目代码。
[cvsroot@localhost hh_proj]$ cd /home/cvsroot/cvsrepo/
[cvsroot@localhost cvsrepo]$ ll
total 12
drwxrwxr-x 2 cvsroot cvsroot 4096 Jan 15 20:05 cj_proj
drwxrwxr-x 3 cvsroot cvsroot 4096 Jan 15 18:38 CVSROOT
drwxrwxr-x 2 cvsroot cvsroot 4096 Jan 15 20:18 hh_proj
[cvsroot@localhost cvsrepo]$ su
Password:
[root@localhost cvsrepo]# groupadd CVS_GRP
[root@localhost ~]# usermod -G CVS_GRP cj_dev
[root@localhost ~]# usermod -G CVS_GRP hh_dev
[root@localhost cvsrepo]# chgrp -R CJ_GRP cj_proj
[root@localhost cvsrepo]# chgrp -R HH_GRP hh_proj
[root@localhost cvsrepo]# chgrp CVS_GRP CVSROOT
[root@localhost cvsrepo]# ll
total 12
drwxrwxr-x 2 cvsroot CJ_GRP 4096 Jan 15 20:05 cj_proj
drwxrwxr-x 3 cvsroot CVS_GRP 4096 Jan 15 18:38 CVSROOT
drwxrwxr-x 2 cvsroot HH_GRP 4096 Jan 15 20:18 hh_proj
以上步骤就可以满足使用RSH/SSH作为远程访问repository的服务器端配置\

1、 如果你没有CVS的话,
sudo apt-get install cvs 用来安装cvs
2、用
cvs -z3 -d:pserver:anonymous@cvssavannahgnuorg:/sources/emacs co -r emacs-unicode-2 emacs
从cvs服务器上得到最新的emacs
3、 安装如下的包
sudo apt-get build-dep emacs21
sudo apt-get install xserver-xorg-dev
sudo apt-get install xorg-dev
sudo apt-get install libncurses5
sudo apt-get install libncurses5-dev
sudo apt-get install libidl-dev
sudo apt-get install libgtk20-dev
4、 开始编译emacs啦,大家慢慢等哦
/configure --enable-font-backend --with-xft --with-freetype --with-gtk
make bootstrap
make
5、 编译完后,用 src/emacs试一下,没有问题了再运行
sudo make install
6、 好了,这下都OK啦。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10266378.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-07
下一篇 2023-05-07

发表评论

登录后才能评论

评论列表(0条)

保存