一、搭建 Subversion 服务器
1、首先需要安装 subversion 这个软件:
sudo apt-get install subversion
注:使用apt-get安装软件,ubuntu默认将软件下载到 /etc/bash_completion.d/ 目录下,可使用 sudo apt-get source packagename 下载源码包,也是下载到 /etc/bash_completion.d/下。
2、在 /home/nicky 下建立一个 repo,名称为 svnproject:
svnadmin create /home/declan/svnproject
3、然后把 /fun/theme 目录下的内容导入到这个 repo 中,注意:导入的目录中文件名不能有中文,不然会出现错误,无法导入:
svn import -m "projectName" /fun/theme file:///home/declan/svnproject
4、最后给这个 repo 建立一个 svn 自带的 svnserve:
svnserve -d -r /home/declan/svnprojec
5、svn服务器默认使用3690端口号,svn要使用非默认端口,可以在svnserve后面加一个 --listen-port 21 来修改svn使用的端口号,
操作如下:在命令提示符下输入:
svnserve -d -r /home/declan/svnproject --listen-port 21
注:红色加粗部分为SVN根目录
同时,还可以为同一个svn服务器上不同的svn项目设定不同的端口号,比如在declan目录下还建有另一个项目,名为 svntest,那么可以启动
svnserve -d -r /home/declan/svntest --listen-port 3690
则svntest项目监听3690(svn默认)端口号,这样在使用 netstat -ntlp 进程查看时会查看到另个svnserver,而在客户端,默认连接为3690端口,也可以在地址后加 “:21”,即 冒号+端口号 来设定访问端口。
以上命令要到svn安装目录下 bin/下使用。
6、查看进程使用端口号及结束进程
使用命令 sudo netstat -ntlp,可以查看到目前系统网络服务器的运行情况,然后使用 sudo kill -9 pid,结束进程。
二、使用 Subversion
1、你可以使用下面的命令来获得一个 wc,如把它取名为 projecout。
svn checkout svn://127.0.0.1/ projecout
或者简写为:
svn co svn://127.0.0.1/ projecout
2、如果需要将修改从 wc 中发送到 repo。
先到 wc 所在目录,然后使用下面的命令将修改发送到 repo:
svn commit -m "note"
三、常用命令:
取出指定版本,如取出版本 2:
svn checkout --revision 2 svn://....
显示提交日志信息:
svn log
显示库中的最新信息:
svn log --revision HEAD
四、设定用户的验证和相应的权限。 现在我们先建立一个叫 project1 的 repo,然后转到 project1中:svnadmin create d:\svnprojects\project1
cd d:\svnprojects\project1
project1 目录下有一堆目录,进入 conf 并打开 svnserve.conf 这个文件,找到以下几行,并把前面的注解符号 ‘#’ 去掉,注意千万在每行的前面别留任何空格。
anon-access = read
auth-access = write
password-db = passwd
其中 anon-access 和 auth-access 分别为匿名和有权限用户的权限,默认给匿名用户只读的权限,这很好,我们不需要改它们。但如果想拒绝匿名用户的访问,只需把 read 改成 none 就能达到目的。password-db 后的 passwd 则为定义用户名及密码的文件路径。这个文件默认跟 snvserve.conf 在同一个目录,下面看看怎么配置 passwd 中的内容。
[user]
# harry = harryssecret
# sally = sallyssecret
harry 和 sally 这两行分别定义了可以对 repo 进行写入的用户的用户名和密码。我们可以在下面加上自己的用户名和密码,比如
testsvn = tester
这样就给了用户 testsvn 往 repo 中写的权限。存盘退出后,svn 服务器就算正式可以运行了!把所有需要管理的项目都放在 d:\svnprojects 这个目录下,像正常那样用 svnadmin create 命令建立 repo,如果要 checkout repo,则在命令行中输入:
svn checkout svn://192.168.0.1/project1
如果要 commit 刚需要输入刚才设置好的用户名和密码:
svn commit -m "we are commiting changes!" --username testsvn --password tester