SVN ADMIN 手册
用于Svn Admin 1.0
Svn Admin是一个 Java 开发的管理 Svn 服务器的项目用户的 web 应用。安装好 Svn 服务器端好,把 Svn Admin 部署到 Tomcat ,就可以通过 web 浏览器管理 Svn 的项目,管理项目的用户,管理项目的权限。使得管理配置 Svn 简便,再也不需要每次都到服务器手工修改配置文件。
u Svn项目配置数据保存在数据库,支持所有数据库(默认 MySQL/Oracle/SQL Server )
u 权限控制:管理员可以随意分配权限、项目管理员可以管理项目成员、成员只能查看和修改自己的密码。这样就可以把项目SVN 配置管理交给项目经理,和项目成员。
u 支持多项目、多用户、多用户组Group (默认带有“项目管理组”、“项目开发组”、“项目测试组”)
u 安全:登录密码使用MD5 加密,每个项目成员的密码使用自带的算法加密
u 操作简单
Svn的配置信息都在仓库目录的 conf 下的 authz,passwd,svnserve.conf 三个文件中,配置用户和权限都是通过修改 passwd 和 authz ,立刻就生效。 Svn Admin 的本质是对这 3 个文件进行管理,所有成员、权限的数据都保存在数据库中,一旦在 Svn Admin 的页面上修改,就会把配置信息输出到 conf 下的那 3 个配置文件中。
假如你不是svn 管理员,或配置不是使用上述方式,你可以忽略下文。
如果这个你还没有安装好,那你先抽根烟,忽略下文。
这个简单吧?不会,上网搜索一下:)
哈哈,不用我教。要我教,那你真要请我吃饭了^_^
假定你已经安装好数据库,在数据库中创建一个名为svnamdin 的数据仓库,使用客户端工具连接上数据库。在发行包 db 目录中找到对应的数据库建表脚本,如 MySQL 数据库对应的是 mysql5.sql ,执行里面的 sql ,就建好 svnadmin 的表结构。
在发行包中找到svnadmin.war 文件,修改里面的 WEB-INF\jdbc.properties 数据库连接信息。
例如你的数据库是MySQL51 ,服务器 IP 是 192.168.1.100 ,请修改红色标明的配置信息:
#指定当前连接数据库
db= MySQL51
#MySQL51
MySQL51.jdbc.driver=com.mysql.jdbc.Driver
MySQL51.jdbc.url=jdbc:mysql:// 192.168.1.100 :3306/ svnadmin ?characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull
MySQL51.jdbc.username= root
MySQL51.jdbc.password= abc123
修改好配置文件后,把svnadmin.war 复制到 %Tomcat%/webapps 目录下,启动 Tomcat ,假如你的 Tomcat 端口是 8080 ,在浏览器中输入 http://192.168.1.100:8080/svnadmin ,出现登录页面。说明你安装成功。
假定你有一个jar 类型的 Eclipse Java 项目 projar ,假定你已经在 SVN 服务器 192.168.1.100 创建好了这个 SVN 仓库 ( 使用 svnadmin create 命令创建 svn 仓库,参考 svn 手册 ) ,目录在服务器 192.168.1.100 的 D:/repository/projar ,访问这个仓库的 svn 地址是: svn://192.168.1.100/projar ,你的项目目录分配如下:
projar
|___branches
|___tags
|___trunk
|____.project
|____.classpath
|____bin
|____src
|____*.java
假定项目经理是Tom ,有一个开发人员 Ben ,一个测试人员 Kent 。你希望 Tom 有管理这个项目目录的所有权限; Ben 可以检出 trunk 目录,但只能对 trunk/src/ 目录进行写的权限; Kent 只能读项目的 tags ,检出发行版本进行测试。
浏览器打开 http://192.168.1.100:8080/svnadmin
登录页面
第一次使用,输入的帐号和密码是超级管理员
如输入帐号 svnamdin,密码 svnamdin ,点击【登录】,进入首页。
输入项目的基本信息,如下:
【路径】是指服务器svn 仓库的路径;【 URL 】主要是给成员查看;【父项目】请参考【高级用户】章节。其它信息随意。
点击【提交】后如下:
点击【用户资料】
输入 Tom信息,点击【提交】如下:
同理:(此处省略一页字,汗!!!)分别添加用户 kent和 ben 。
密码已经加密保存在数据库,结果如下:
用户就设置完成了!!!
此时这3 个账户已经具备默认的登录等权限,可以登录到 svn admin 修改自己的资料。 ( 参考【高级用户】 - 【权限管理】章节 )
点击【项目管理(projar )】或右上角的【项目】菜单,返回项目页面
点击【设置用户组】,进入如下
点击第一行developer 的【设置用户】
在下拉框中选择kent ,点击【增加用户】,结果如下
点击【用户组管理 (projar_developer) 】,返回用户组设置页面
同理:(此处省略一页字,汗!!!)分别添加 tom到 管理员组 manager,添加 kent 到测试组 tester 。
把Tom 添加到管理组【 projar_manager 】后, Tom 已经具备默认的项目管理等权限,可以登录到 svn admin 修改项目资料、自己的用户资料和项目成员的资料。 ( 参考【高级用户】 - 【权限管理】章节 )
下面设置目录权限,点击【项目管理(projar )】或右上角的【项目】菜单,返回项目页面
点击【设置权限】,进入如下
输入如下信息:
【资源】:[/] 表示项目的根
【用户组】:projar_manager
【权限】: 可读可写
点击【增加】
输入如下信息:
【资源】:[/trunk]
【用户组】:projar_developer
【权限】: 可读
点击【增加】
输入如下信息:
【资源】:[/trunk/src]
【用户组】:projar_developer
【权限】: 可读可写
点击【增加】
输入如下信息:
【资源】:[/tags]
【用户组】:projar_tester
【权限】: 可读
点击【增加】
结果如下:
项目经理Tom 使用 svn://192.168.1.100/projar检出整个项目,并有读写的权限;
开发人员Ben 使用 svn://192.168.1.100/projar/trunk 检出项目的 trunk 目录,可以对 trunk/src 读写,但对 trunk/.project 等只能有读的权限;
测试人员Kent 使用 svn://192.168.1.100/projar/tags 检出项目的 tags 版本目录,只可以读,不能写。
关于svn 目录的权限的设置技巧,已经超出本文的讨论范围,请参考 svn 管理的相关文档。
对于以上的例子,查看服务器192.168.1.100 的 D:/repository/projar/conf 目录
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
[sasl]
[users]
### Ben
ben=ben
### Kent
kent=kent
### Tom
tom=tom
[aliases]
[groups]
projar_developer=ben
projar_manager=tom
projar_tester=kent
### ====================== Start projar
[/]
@projar_manager=rw
[/trunk]
@projar_developer=r
[/trunk/src]
@projar_developer=rw
[/tags]
@projar_tester=r
### ====================== End projar
如果你要设置 *=
输入如下信息:
【用户组】:不选!
【用户】:*
【权限】: 没有权限
你懂的!
可能你有很多项目,在页面上输入数据太麻烦,可以根据表结构,使用数据库到导入导出,批量插入数据到数据库里。
然后,只要在svn admin 页面随意修改一下项目的配置信息,即可把数据库的数据输出到 svn 服务器配置文件。
如在【项目管理】点击【提交】,触发修改项目信息的动作,会立刻把数据库的配置输出到配置文件。( 你总要点一下,我才知道要重新输出配置把,呵呵! )
右上角菜单【登录帐户】进入【帐号管理】
点击【权限】进入【权限管理】,权限下拉框有系统提供的选项
u 项目成员默认权限: 登录,帐号管理,帐号管理- 提交,帐号管理 - 修改密码,项目管理
u 项目管理员默认权限: 登录,帐号管理,帐号管理- 提交,帐号管理 - 修改密码,项目管理,项目管理 - 修改,项目管理员
管理员可以分别修改每个帐号的权限,也可以使用通配符* ,例如 fun_* 代表 fun_ 开头的所有权限。 超级管理员的权限就是* 。
登录账户和密码是指登录到svn admin 的凭证;项目用户和密码是指 svn 项目配置文件中的凭证,用于 svn 的 check out 等操作。两者可以不一样。
添加项目用户资料时,如果此时登录账户中还没有存在同名的账户信息,会自动地往账户表中添加,并配置默认的权限。此时,登录账户 == 项目用户。
添加项目用户资料时,如果此时登录账户中存在同名的账户信息,则不会对登录账户信息做任何更新。此时,登录账户 != 项目用户。
修改登录账户的密码,并不会对项目用户的密码有影响。同理,修改项目用户的密码,并不会对登录账户的密码有影响。
这样,就可以设置有些成员只有登录svn admin 权限,不一定具有项目成员检出 svn 项目的权限;或可以禁止项目成员登录 svn admin ,但依然可以检出 svn 的项目。
父项目的所有子项目共享父项目的用户资料,但子项目可以设置不同的用户组和目录权限。
适合这样结构的项目:
parent_project
|___child_project_1
| |___branches
| |___tags
| |___trunk
| |____.project
| |____.classpath
| |____bin
| |____src
| |____*.java
|
|___child_project_2
|___branches
|___tags
|___trunk
|____.project
|____.classpath
|____bin
|____src
|____*.java
以MySQL 数据库为例
联系方式
QQ : 56099823
Email: yuanhuiwu@gmail.com
2011-07
( 完 )
相关推荐
根据提供的文件内容,我们可以提炼出关于Java Web版SVN配置管理工具(版本2.0)的关键知识点。以下是详细知识点介绍: ### SvnAdmin概述 - **SvnAdmin定义**:SvnAdmin是一款由Java开发的Web应用,旨在简化SVN...
网上没有找到合适的svn web配置工具,于是自己动手,用jsp写了一个web版的管理工具,发布到tomcat上直接可以修改配置文件,管理方便,工作效率大大提高。 附简单操作说明: 1、部署:将下载的压缩包直接解压到...
总的来说,Web版的SVN管理工具极大地提升了团队协作效率,通过集中式的权限管理和直观的Web界面,使得SVN的操作更加简单易用,尤其适合远程工作的团队。使用该工具,可以有效地管理项目版本,确保代码质量,同时促进...
SVNWebManager是一款基于Java开发的简单SVN(Subversion)Web管理工具,它提供了通过Web界面进行远程用户管理的功能。作为一个轻量级的解决方案,它对于那些希望在不安装额外客户端软件的情况下,通过网络对SVN仓库...
### SVN管理工具详解 #### SVN概述 Subversion(SVN)是一种开源的版本控制系统,它在软件开发领域中被广泛采用。相比于早期的版本控制系统如RCS和CVS,SVN提供了一种更为先进和高效的分支管理机制。其设计初衷即...
**Java代码管理工具SVN简易操作说明** 在软件开发过程中,代码管理是非常关键的一环,它确保了团队成员之间的协作高效、代码版本控制有序。Subversion(简称SVN)是广泛应用的一种集中式版本控制系统,特别适合Java...
2. 配置SVN服务器:通常,SVN服务器使用Apache Subversion或VisualSVN等软件搭建,需要设置仓库路径和访问权限。 三、基本操作 1. 检出(Checkout):获取远程仓库的最新代码到本地工作副本。 2. 提交(Commit):...
- 使用`SVNClientManager`的相应方法,如`commit()`来提交文件或目录到SVN仓库,`mkdir()`创建远程仓库的目录。 - 需要注意的是,进行SVN操作前,可能需要设置用户名和密码,以及SVN仓库的URL。 3. **创建文件夹*...
根据提示操作,包括设置新密码、删除匿名用户、禁止远程root登录等。 二、配置Java Java是跨平台的编程语言,用于开发和运行各种应用程序。在CentOS上安装OpenJDK(开源Java开发工具包): ```bash sudo yum ...
总结来说,"svn配置文件.jar"是一个包含Subversion配置的Java归档文件,可能涉及到服务器设置、用户权限、认证机制等。理解和操作.jar文件需要一定的Java基础,而配置SVN则需要对版本控制系统有深入的理解。在实际...
管理员可以通过SVN服务器设置权限,控制用户对仓库的访问,比如读取、写入和创建分支等权限。此外,SVN的hooks脚本可以实现自动化操作,如提交前的代码检查或提交后的邮件通知。 总之,Eclipse中的SVN工具是项目...
Java文件管理系统,支持权限管理、历史版本管理、Office编辑、Office预览、在线解压缩、文件分享、文件加密、远程存储、跨仓库推送、跨服务器推送、秒传、断点续传、智能搜索、文件备注、自动备份、一键迁移。...
myEclipse是一款强大的Java集成开发环境,而Subversion(简称svn)是一种版本控制系统,用于管理代码版本,便于团队协作开发。myEclipse集成了svn功能,使得开发者可以方便地进行版本控制操作。下面我们将详细解释...
4. 配置SVN服务器:启动VisualSVN Server Manager,创建一个新的仓库,设置仓库路径,然后添加用户和权限。同时,你需要配置Apache服务器,编辑httpd.conf文件,添加必要的SVN模块和路径映射。 5. 共享项目:在创建...
基于Web的文件管理系统,支持权限管理、历史版本管理、Office编辑、Office预览、在线解压缩、文件分享、文件加密、远程存储、跨仓库推送、跨服务器推送、秒传、断点续传、智能搜索、文件备注、本地自动备份、异地...
设置SVN服务器涉及配置仓库路径、用户权限以及网络访问设置。 客户端则是开发者与SVN服务器交互的工具。它允许用户检出(Checkout)项目文件到本地工作副本,进行编辑,然后将更改提交(Commit)回服务器。客户端还...
MxsDoc是基于Web的文件管理系统,支持权限管理、历史版本管理、Office预览/编辑、WPS预览/编辑、在线解压缩、文件分享、文件加密、远程存储、远程文件推送、秒传、断点续传、智能搜索、文件备注、自动备份、一键迁移...
4. **检查out项目**:使用SVN插件的Check out功能,将远程仓库中的项目检出到本地工作空间。 5. **日常操作**:在MyEclipse中,你可以方便地进行提交、更新、合并等SVN常见操作,保持与团队成员的同步。 以上,...
11. **权限管理(Access Control)**: SVN支持基于用户和组的权限管理,可以限制对仓库或特定目录的访问。 12. **冲突检测与预防**: 使用预提交钩子脚本可以在提交前检查代码质量、格式和潜在冲突,防止问题进入...