查看svn服务器版本
Svn 服务配置和维护常用命令
win下启动和停止svn
====================================在windows上的配置方法===============================================================
1. 环境和软件准备
Window-Subvsersion : http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
2. 配置管理
2.1. 创建仓库 (svnadmin)
在硬盘上创建个空目录,作为 SVN 的仓库目录。如: E:/svnroot/repository 。
下面使用两种方式创建仓库的初时文件结构和存储方式。
-
命令方式
-
TortoiseSVN 客户端方式,
后面所有文档都采用两种方式说明,其功能完全相同。请根据实际情况选择使用。
命令方式( DOS 下):
# 默认方式,采用 FSFS 方式存储数据,这是推荐方式,管理和迁移相对 bdb 方式简单
svnadmin create E:/svnroot/repository
或
svnadmin create &endash;fs-type bdb E:/svnroot/repository
上为bdb的文件系统方式, 一般默认是native的FS即 NTFS
TortoiseSVN 客户端方式
安装TortoiseSVN
创建空目录
进入空目录,右键TortoiseSVN 》创建库here
2.2. 配置服务
进入仓库目录下的 conf 文件夹。也就是 E:/svnroot/repository/conf
里面有 3 个默认的配置文件: authz , passwd , svnserve.conf
-
authz 典型的配置是设置由 authz 控制授权,即哪个组可以对这个目录有什么权限
-
svnserve.conf 控制 svnserve 的启动配置选项,可以配置认证和授权方式,
-
passwd 控制认证的方式来控制访问权限。也可以使用匿名方式,但不推荐。所有用户和密码
使用 authz 和 passwd 的典型配置:
请特别注意:以下三个配置文件的配置,每行有效配置前不能有空格,不然配置会失败。
------------------------------------------服务配置文件 svnserve.conf-----------------------------------------------------
&ldots;&ldots;
### 匿名方式不允许访问
anon-access = none
&ldots;&ldots;
### Uncomment the line below to use the default password file.
### 表示访问仓库的认证有文件 passwd 提供的账户确定
password-db = passwd
&ldots;&ldots;
### Uncomment the line below to use the default authorization file.
### 表示认证后的账户访问权限由文件 authz 定义
authz-db = authz
### This option specifies the authentication realm of the repository.
&ldots;&ldots;
#realm = My First Repository
--------------------------------------------认证配置文件 passwd--------------------------------------------------------------
passwd 文件实际提供访问本仓库的账户管理,文件格式就是 ini 方式的格式
[users]
# harry = harryssecret
# sally = sallyssecret
testuser1=testuser1
testuser2=testuser2
这表示本仓库配置了二个用户及:其中一个用户 testuser1, 他的访问密码是 testuser1。
访问密码可以使用明文,也可以使用 htpasswd.exe ( apache 服务器提供的工具方法,安装 apache 服务器后,在其 bin 目录中有该程序文件)进行加密处理。
--------------------------------------------授权配置文件 authz----------------------------------------------------------------
该文件负责认证后的用户的权限控制,配置稍微复杂,但其实也就是个 ini 配置文件而已。
典型配置:
# groups 段提供配置组的功能 , 但组成员必须是 passwd 文件中定义的用户才有效。可以对组
# 进行权限控制,所有组成员具有组对应的访问权限。
[groups]
# 表示定义了一个管理组叫 admin_group, 包括 harry 和 sally , admin_group 前千万不能有空格
admin_group=testuser1
dev_group=testuser2
# 下面就是定义具体仓库下目录的访问权限
# 一般对管理员来说都具有整个仓库的读写权限,一般人员对整个敞开具有读取权限,下面
# 就是这样的配置 ,[/] 表示整个仓库的根,组的引用使用 @ ,对应的权限可以是 r,w,rw 或空
[/]
@admin_group = rw
@dev_group = rw
* = r
[/test_project]
@admin_group = rw
@dev_group = rw
* = r
[repository:/]
@admin_group = rw
@dev_group = rw
* = r
以上的配置完成后,就可以启动服务器了,下面说明服务器的启动。
注意,以上 authz 和 passwd 文件在管理中因为具体项目的加入和人员的变动会经常的修改,这也是 SVN 管理主要的工作
2.3. 启动服务 (svnserve)
Svn 服务器一般有三种方式, svnserve , apache 和 SSH 。
其中常用的有 svnserve 和 apache 方式。本文只以 svnserve 方式讲解。
-
svnserve 是最高效的方式,一般应用于内部开发网中使用。
-
Apache 方式因为可以很好的部署在 internet 上,所以公网使用最方便,但配置稍微相对复杂点点,呵呵~~。
-
ssh方式
命令方式( DOS 下)启动:
svnserve &endash;d &endash;r "E:/svnroot/repository"
-d 参数是以独立服务的方式启动
-r 是制订要加载的仓库的物理路径
添加为Windows系统服务
方法1(推荐):
在Windows NT中(包括Windows XP, Windows 2000, Windows 2003 Server, Windows vista)本身包含了一个安装服务的工具,叫做"Service Control",也就是sc.exe。
1.安装为服务:
例:我的Subversion安装在"C:/Program Files/Subversion",版本库在"E:/svnroot/repository",
而我希望对应的Subversion服务名为svnservice,安装这个svn服务的命令就可以这样写:
SC create svnservice binPath= "/"C:/Program Files/Subversion/bin/svnserve.exe/" --service --root /"E:/svnroot/repository/"" displayname= "SVNService" depend= Tcpip start= auto 配置为自启动服务
在以前启动svnserve时会使用"-d"选项,也就是守护进程模式,在这里不能使用,会导致服务无法启动。同样,"-i"和"-t"选项也不能使用。
另外还有两点需要小心处理。
-
首先,如果路径中包括空格,一定要用”r;/”处理双引号,例如上面的例子中如果svnserve.exe在
”r;C: /Program Files/Subversion/bin/svnserve.exe”中,则命令应该写为”r;binpath= "/"C:/Program Files/Subversion/bin/svnserve.exe/"”(”r;”中的内容):
SC create svnservice binPath= "/"C:/Program Files/Subversion/bin/svnserve.exe/" --service --root /"E:/svnroot/repository/"" displayname= "SVNService" depend= Tcpip
-
其次,sc对选项的格式还有要求,例如”r;depend= Tcpip”不能写为”r;depend = Tcpip”或”r;depend=Tcpip”,也就是”r;=”前不能有空格,而后面必须有空格。
2.启动服务
在命令行窗口执行完这个命令之后,服务还没有启动,你可以继续运行"net start svnservice"启动这个服务。
3.停止服务
然后使用"net stop svnservice"停止服务。
4.删除服务
如果服务安装的有问题,你可能需要删除服务。要删除前面添加的服务,只需要运行"sc delete svnservice",
"svnservice"就是我们创建服务时使用的名字。
5.配置服务是自动启动
默认情况下安装的服务不会随Windows的启动而启动,为了使svn服务能够随Windows启动而启动,
需要修改一下"sc create"命令(首先要删除),增加"start= auto"选项:
SC create svnservice binPath= "/"C:/Program Files/Subversion/bin/svnserve.exe/" --service --root /"E:/svnroot/repository/"" displayname= "SVNService" depend= Tcpip start= auto
当然你也可以使用图形化的工具修改服务的属性,你可以在”r;开始->运行...”中执行"services.msc",然后在界面中修改。
在vista下要以管理员的权限运行CMD, 否则会出现权限问题.
=================================在linux 10.117.100.130 上安装svn===============================================================
1、下载svn for linux 最新版 http://subversion.tigris.org
2、连接vpn并使用sshsecure client上传
3、使用cat /proc/version 查看系统是什么Linux,
结果显示是centos
4、查看磁盘使用情况
[root@localhost ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/vgroot-root
6887724 1757136 4775056 27% /
/dev/mapper/vgehong-ehong 逻辑卷
20282620 176200 19059484 1% /usr/local/ehong
/dev/sda1 194442 14424 169979 8% /boot
tmpfs 2022252 0 2022252 0% /dev/shm
5、解压缩并安装
-
解压:#: tar zxvf subversion-1.3.2.tar.gz
-
依次输入./configure , make , make install 进行编译安装完成。
-
开启SVN服务:svnserve -d
-
检测服务是否开启:netstat -ntlp如果看到3690的端口正常开放了,证明SVN启动了。
tar xfj subversion-1.4.3.tar.bz2
tar xfj subversion-deps-1.4.3.tar.bz2
# subversion-deps的文件也会解压到subversion-1.4.3目录中
cd subversion-1.4.3
rm -rf apr
rm -rf apr-util
ln -s /home/tmp/httpd-2.2.4/srclib/apr apr
ln -s /home/tmp/httpd-2.2.4/srclib/apr-util apr-util
./configure && make && make install
安装完成后,查看是否存在文件$APACHE_HOME/modules/mod_dav_svn.so(默认/usr/local/apache2/modules/mod_dav_svn.so)。另外,如果该机器上以前是装过旧版本的SVN,要把"/usr/local/lib/libsvn*"文件都删除。
正式使用前准备:
首先我们得建立一个SVN的项目,一般人都认为建立项目就只需要一个文件,在我第一次使用SVN之前都有这样的看法,SVN建立项目需要建立文件夹
-
建立项目命令:svnadmin create project_name project_name 为你的project名字,可以任意取。
建立完毕后,project_name是一个文件夹,进入文件夹,可以看到一个conf的文件夹。
2.进入文件夹可以看到2个文件(如果没有passwd文件,可以用vi创建),编辑 svnserve.conf 把anon-access = read ,auth_access = write
还有password-db = passwd 的注释去掉,还有[general]的注释也要去掉。
vi passwd文件,如果是新文件,则输入:
[user]
your_name = your_password
这里设置的your_name是你的用户名,your_password是你的密码,这个是访问SVN必要的通行证。
好了,现在终于把准备功夫做完了,
下面可以正是使用了。
首先找到你的项目源代码文件夹,使用下面命令:
cd your project
in your project dircetory
use:svn co /home/project_name --username = your_name --password=your_password
好了,现在你可以在客户机上使用以下命令获得你想要的项目源代码文件
svn co svn://home/project_name --username=your_name --password = your_password
把增加的svn文件添加入svn库:
svn add /home/your_project/*.* --username=your_name --password = your_password
提交文件:
svn commit /home/your_project/*.* --username=your_name --password=your_password
更新文件:
svn update /home/your_project/*.* --username=your_name --password=your_password
当然你可以编辑一个脚本文件来一次完成所有的操作:
vi svnupdate.sh
#!/bin/sh
svn add /home/your_project/*.* --username=your_name --password = your_password
svn commit /home/your_project/*.* --username=your_name --password=your_password
svn update /home/your_project/*.* --username=your_name --password=your_password
chmod +x svnupdate.sh
Finish
=====================================svn库的导入导出============================================================================
svn提供了一个类似oracle export成dump文件的一个工具svnadmin dump,导出的文件为文本文件
//导出
1、首先进入库的相应目录
cd e:/svnroot
2、导出/java-source所有文件到
E:/svnroot>svnadmin dump ./java-source > java-dump
3、将java-dump上传到
//还原
$svnadmin load java-source < java-dump
ok成功导入。
停止subversion服务
ps &endash;aux | grep svnserve
kill -9 ID号
查看svn服务器版本
C:/Documents and Settings/server>svnadmin --version 用svn --version效果一样
svnadmin,版本 1.5.6 (r36142)
编译于 Mar 6 2009,14:54:47
版权所有 (C) 2000-2008 CollabNet。
Subversion 是开放源代码软件,请参阅 http://subversion.tigris.org/ 站点。
此产品包含由 CollabNet(http://www.Collab.Net/) 开发的软件。
下列版本库后端(FS) 模块可用:
* fs_base : 模块只能操作BDB版本库。
* fs_fs : 模块与文本文件(FSFS)版本库一起工作。
[root@localhost ~]# svn --version
svn, version 1.6.11 (r934486)
compiled Apr 20 2010, 00:24:22
Copyright (C) 2000-2009 CollabNet.