unbuntu下cvs及svn安装

cvs安装:

转自http://blog.csdn.net/wangyifei0822/article/details/2370876

1,安装CVS和CVSD

sudo apt - get  install cvs cvsd
2,建立虚拟系统(例如我们建立在/var/lib目录里)
sudo cvsd - buildroot  / var / lib / cvsd
3,建立代码仓库 (例如我们建立代码仓库cvsrepo)
cd  / var / lib / cvsd
sudo mkdir cvsrepo
4,初始化代码仓库
sudo cvs  - / var / lib / cvsd init
5,使cvsd组和cvsd用户(改用户是用apt安装cvsd的时候自动建立的,cvsd默认使用cvsd运行cvs服务)有权读写代码仓库
sudo chown cvsd:cvsd  - / var / lib / cvsd / cvsrepo
6,给mycvs添加用户(这个不需要是系统用户),此处会提示输入密码,然后bbs就会出现在 /var/lib/cvsd/cvsrepo/CVSROOT/passwd中
sudo cvs - passwd  / var / lib / cvsd / cvsrepo bbs
 /*bbs is username and system will request you to input passwd later*/
7,修改配置文件:
sudo vi  / var / lib / cvsd / cvsrepo / CVSROOT / config
" SystemAuto=no " 去掉前面的#号
以及:
sudo vi  / etc / cvsd / cvsd.conf
确保里面的
RootJail  / var / lib / cvsd         //为cvsd的根目录
在最下面添加:
Repos  / cvsrepo          // 其中目录是相对于RootJail
8,重启服务
sudo  / etc / init.d / cvsd restart
ok
9,测试
[root@localhost xjtu129]# export CVSROOT = :pserver:bbs@ 202.117 . 15.165 : / cvsrepo
[root@localhost xjtu129]# cvs login
Logging 
in  to :pserver:bbs@ 202.117 . 15.165 : 2401 / cvsrepo
CVS password: 
[root@localhost xjtu129]# cvs import 
- ""  . / a a initial
I .
/ a / a / CVS
I .
/ a / a / a / CVS
I .
/ a / a / .kde / CVS
I .
/ a / a / .kde / Autostart / CVS
U .
/ a / .zshrc
U .
/ a / .bash_logout
U .
/ a / .bashrc
U .
/ a / .bash_history
U .
/ a / .bash_profile
N .
/ a / .cvspass
U .
/ a / .emacs
cvs import: Importing 
/ cvsrepo / . / a / .kde
cvs import: Importing 
/ cvsrepo / . / a / .kde / Autostart
U .
/ a / .kde / Autostart / .directory
cvs import: Importing 
/ cvsrepo / . / a / a
N .
/ a / a / .zshrc
N .
/ a / a / .bash_logout
N .
/ a / a / .bashrc
N .
/ a / a / .bash_history
N .
/ a / a / .bash_profile
N .
/ a / a / .emacs
cvs import: Importing 
/ cvsrepo / . / a / a / .kde
cvs import: Importing 
/ cvsrepo / . / a / a / .kde / Autostart
N .
/ a / a / .kde / Autostart / .directory
cvs import: Importing 
/ cvsrepo / . / a / a / a
N .
/ a / a / a / b.c
N .
/ a / a / a / a.c

No conflicts created by 
this  import

[root@localhost xjtu129]# cvs checkout a
cvs checkout: Updating a
U a
/ .bash_history
U a
/ .cvspass
cvs checkout: Updating a
/ .kde
cvs checkout: Updating a
/ .kde / Autostart
cvs checkout: Updating a
/ a
U a
/ a / .bash_history
U a
/ a / .bash_logout
U a
/ a / .bash_profile
U a
/ a / .bashrc
U a
/ a / .emacs
U a
/ a / .zshrc
cvs checkout: Updating a
/ a / .kde
cvs checkout: Updating a
/ a / .kde / Autostart
U a
/ a / .kde / Autostart / .directory
cvs checkout: Updating a
/ a / a
U a
/ a / a / a.c
U a
/ a / a / b.c
[root@localhost xjtu129]# cvs logout
Logging 
out  of :pserver:bbs@ 202.117 . 15.165 : 2401 / cvsrepo
svn安装

平时的团队开发,少不了要用一个协作工具。对于以前,无疑cvs是个无错的选择(像IBM的全球代码维护)。但是,科技在发展吗,现在有了更好的svn了,所以直接就是svn吧。有关svn的具体信息可以上它的官网或www.subversion.org.cn

网上关于svn的也不少,不过感觉大都出自一处,也不知道quote的人真的试过没有。当然,学习吗,但个人感觉学完人家的东西一定要有自己的体会。下面是我的一个简单的配置过程。

 

首先,肯定是svn的安装,这个很简单:

sudo apt-get install subversion

sudo apt-get install libapache2-svn(这个是和apache配合使用的,apache的安装就不说了)

完成安装后,给系统添加一个用户组(如svn),把想要加入这个组的加一下(至少要把你自己加进吧)。

显然,像代码维护,版本控制这种东西,肯定是cs结构的。所以下面先从svn服务器的配置说起。

 

svn服务器的配置和简单管理

svn服务器端的配置主要是一个资源库的创建,这个资源库可以就一个,也可以是一个树状结构的(不建议使用森林结构)。我想创建一个test资源库,并把它放在/usr/local/svn下(资源库一般都放在/usr/local or /home下):

$cd /usr/local/

$sudo mkdir svn

$sudo mkdir svn/test

$sudo chown -R root:svn svn/

$sudo chmod -R g+rws svn/

准备工作做好了,下面就是创建资源库了:

$sudo svnadmin create /usr/local/svn/test

好了,这样一个资源库就建好了,很简单,如果你要ls /usr/local/svn/test一下,就会发现出现了一些文件和文件夹(如,conf db等),它们的作用就不说了,去org上看吧。

别急,这时你还要做些工作

$sudo chown -R root:svn svn/

$sudo chmod -R g+rws svn/

如果没有这个,接下来就可能会出错,除非你是root。

还有一些好使的工具,如svnlook,svnadmin,svndumpfilter,他们涉及到svn资源库管理的方方面面,很强大,这里不介绍了,用的时候就查吧www.subversion.org.cn/svnbook。需要注意的是,这些管理工具的使用,后面跟的是绝对路径,不要和下面客户端的所使用路径混淆。

 

svn客户端的使用

svn客户端就是用来访问操作资源库资源的,它有多方式,如直接的file访问,自带协议的访问,http,https等待。这里只介绍两种,即file直接访问和自带协议的访问。

 

直接访问

所谓直接访问就是通过命令行直接对资源库进行访问。下面是一些例子:

我在我的家目录下有个workspace文件夹,下面有个用eclipse创建的简单工程叫com.sun.yangsq。我想把他维护到资源库中

$cd workspace

$svn  import com.sun.yangsq  file:///usr/local/svn/test/com.sun.yangsq/trunk -m "test import"

这样,这个工程就被import到资源库了。

如果想查看一下资源库的信息,可以使用

$svn list file:///usr/local/svn/test/ 

如果想查看log信息,可以使用

$svn log file:///usr/local/svn/test/

此外,svn还有好多的命令可以使用,如checkout(co),diff,move,delete,add等等,上网查去吧。

 

自带协议(svn://)的使用

subversion自带了一种访问协议,很好用。但是,如果要使用这种协议,需要启动svnserve,这也很简单,如下:

$svnserve -d

这样就把本地的所有资源发到了网上,默认3690端口。访问时使用的路径如:

svn://ip/usr/local/svn/test/..... (这个ip不用带端口)

如果只想发布某个资源,可以使用

$svnserve -d -r /usr/local/svn/test

访问时使用的路径如:

svn://ip/com.sun.yangsq

如果要checkout,可以

$svn checkout svn://ip/com.sun.yangsq

需要注意的是,客户端在使用类似svn,http://这种网络协议访问资源时(即通过svnserve进程),会通过一定的权限验证,这种验证是通过资源的一些配置文件设定的。如在本例中,这些配置文件放在了/usr/local/svn/test/conf/下,包括三个authz,passwd,svnserve.conf。这三个文件的配置就不详谈了。另外的几种客户端方式如http也不介绍了,svnbook上去看,都有。

 

如果想通过网络方式,即svn,http等访问(推荐使用这种方式,而不是file://方式),必须要把svnserve进程启动,如果你不小心把机器重新启动了,一定要手动把它再启动一边。

 

svn确实很好使,eclipse也有它的插件(叫sublipse),很方便。但是,如果要想使好,还得好好琢磨琢磨。


你可能感兴趣的:(unbuntu下cvs及svn安装)