提问的智慧SVN版 - 提问者必读
发新话题
打印

[原创] SVN配置远程维护工具--取名为ISVNAdmin

SVN配置远程维护工具--取名为ISVNAdmin

我用的是SVNServe服务的多库模式,一直想进行远程管理,可是又懒,虽然只是要维护一下配置文件而已。
昨天受到iUseSVN.com群友激励,决定做一个简易的可以远程管理的版本,满足自己的工作需要,注:由于软件非常简单,而且代码也非常的糟糕,所以不考虑开源给自己抹黑。嘻嘻。
不过有需要技术交流的同志,可以直接和我在群里交流。

最近更新:
20071205: 更新了有时不能保存用户组相关设置的问题
20071122: 增加了在Linux下的布署实例视频帮助视频下载帖
20070829: 重要更新 增加了仓库托管功能,可以把仓管的部分管理功能托管理其它用户,该用户登录后即可以有限的修改该仓库的访问权限
20070829: 重要更新 增加了用户修改密码功能,每个用户都可以用自己的用户名和密码登录,登录后可以修改自己的密码,管理员的密码不允许修改
20070824: 修正了建出仓库中子路径时会多写一个/的问题
20070823: 修正了配置文件中仓库位置分隔符对取出子目录的影响
20070803:  增加用户当前权限列表功能,在用户管理,点击查看权限,可以方便的看到用户当前所拥有的所有库的权限情况
20070803:  增加远程创建库库的功能,注意需要设置相应的权限。创建了库后可直接通过权限设置设置新增加的库的权限。
20070725:增加远程SVN库的子目录列出功能,在设置权限时可以展开仓库的目录数,不用再手工输入仓库的子目录。
20070724:修得一个BUG,兼容Mono
20070724:初始版本

使用环境需求:
支持WEB服务,IIS或Apache(未测试)
支持Asp.Net 2.0 MS Asp.net 或 Mono Asp.net(已在Xsp2下测试通过,证实可以支持Linux,请看最后一个截图)
生成的文件格式为不带BOM的UTF编码,支持中文目录权限配置.

重要注意事项:
使用前请切记备份你原先的配置文件
本程序使用后会重写配置文件,会清除原先的所有注释.

使用方式:
1:把附件中的文件解压到你的服务器上的一个目录里
2:在IIS中新建一个虚拟目录或应用指向解压的目录
3:修改WebConfig文件中的几个重要参数:
    <add key="UserName" value="Admin"/>
    <add key="UserPass" value="Admin"/>
    <add key="UserConfigFile" value="D:\Project\Office\Tools\SvnRemoteControl\data\passwd.conf"/>
    <add key="AuthzConfigFile" value="D:\Project\Office\Tools\SvnRemoteControl\data\authz.conf"/>
    <add key="ReposPath" value="D:/Project/Office/"/>
UserName: 登录时的用户名
UserPass:登录时的密码
UserConfigFile SVN仓库的密码配置文件
AuthzConfigFile SVN的权限配置文件
ReposPath 多库SVN仓库的根目录

以上路径设置都是绝对目录,没有相对目录注意. 另外在库的权限配置文件路径应当采用相对路径的形式.用程序创建多库的,会自动配置,手工创建的要注意写一个正确的相对路径.

4: 开放相关的权限
给IIS进程设置相应的安全权限,在Win2003下是IIS_WPG, Win2000下是ASPNET
给两个SVN配置文件的读写权限
给仓库根目录的列目录权限
5:测试运行 输入你的布署目录 +/login.aspx进行登录访问

布署文件在附件里.谢谢!

登录界面
输入设置的用户名和密码登录
用户管理
删除和添加,操作简单明了
用户组管理
可添加,编辑,删除,设置组成员,点编辑后可以查看到当前组成员
权限管理
可以在左边的仓库里面选择目录,也可以直接在文本框里填,注意格式正确.如果需要以仓库的下级目录设置权限,目前只能手工在文本框里填写,尚不能在树中选择.
选择过仓库以后就可以通过下面的操作修改配置.







安装布署文件下载
收费附件: isvnadmin_20071206.rar
log4netmono.rar (186.17 KB)
[ 本帖最后由 goldpicker 于 2007-8-31 14:15 编辑 ]

[ 本帖最后由 goldpicker 于 2007-12-6 10:11 编辑 ]

附件

isvnadmin_20071206.rar (138.61 KB)

07-12-6 10:11, 下载次数: 575 , 售价: 金币 1  [记录]  [购买]

本帖最近评分记录
  • 三少 威望 +5 07-8-29 09:35
  • 三少 金币 +10 07-8-29 09:35
  • PCplayer 威望 +2 原创内容 07-7-24 10:18

TOP

太好了,请问支持Linux吗?

TOP

理论上来说可以在Linux下的Mono下运行。不过我没有环境试。如果有人要在Mono下运行,有问题可以和我研究。

TOP

已在Windows下的Mono下测试通过。

TOP

好,有时间在Linux下测试一把,有问题再说!

TOP

下载一个测试一下,正好需要

TOP

哦,原来金钱不够阿,刚来,学习一下!

TOP

顶好帖,,可什么我就不行

TOP

好东西啊!好东西啊!谢谢了

TOP


你的SVN服务器不是和apache集成的吧,应该是以服务运行的svn服务器,如果和apache集成的可以吗?

[ 本帖最后由 zhangzzs 于 2007-7-30 15:32 编辑 ]

TOP

好像还不能列出版本库的具体目录来,不过已经是一个很好的工具了,大家一起来把它慢慢的完善吧。

TOP

已经可以列出版本库的目录了。

TOP

暂时只能管理SvnServer的权限文件

TOP

还需要钱呀!!!

TOP

好,谢谢呀,继续努力!

TOP

我已安装了此软件, 还是比较好用又漂亮的!
但我现在遇到一个问题, 我是按你的安装说明安装的, 不知道那里出了问题,现把问题描述一下:
我用的是window sever 2003, subversion 1.4.3, 采用多版本库。
客端是TortoiseSVN, 采用svn://协议连接时, 报告说passwd文件找不到。这文件我在web.config文件中指的位置是D:\passwd,报告说找不到: D:\SVN_REPOS\repos1\conf\..\..\D:\passwd。
我就打开repos1版本中的svnserve.conf中的password-db设置为了 D:\SVN_REPOS\repos1\conf\..\..\D:\passwd,为什么自动设置为这样?
后面,我又看了svnserve.conf文件中关于password-db设置的说明,说明中说password-db中设置的路径如果以"/"开头,就是绝对路径。如果不是,则是相对版本库中的conf目录的相对位置。原来是这样,我想你们应该解决了问题, 请说明一下,如何解决。
还有我这个问题如何解决?

谢谢!

TOP

引用:
原帖由 wangyl1982 于 2007-8-20 09:45 发表
我已安装了此软件, 还是比较好用又漂亮的!
但我现在遇到一个问题, 我是按你的安装说明安装的, 不知道那里出了问题,现把问题描述一下:
我用的是window sever 2003, subversion 1.4.3, 采用多版本库。
客端是TortoiseSV ...
请说明一下你的系统运行环境以及配置文件的具体配置:
1:多库的根目录
2:你的子库是用项目创建的,还是事先已经建好的
3:你的子库中的DB文件的配置
4:UserConfigFile的设置
5:AuthzConfigFile的设置
6:ReposPath的设置

TOP

谢谢回复!
多库的根目录:\svn_sys\SVNData
子库是用web管理工具创建的;
UserConfigFile 设置为 D:\svn_sys\Authz\passwd
AuthzConfigFile 设置为 D:\svn_sys\Authz\authz
ReposPath       设置为 D:\svn_sys\SVNData

提示的错误是:
错误: 不能打开文件“D:\svn_sys\SVNData\YJ_LCD2000\conf\..\..\D:\svn_sys\Authz\passwd”: 文件名、目录名或卷标语法不正确。

这个问题,我手工修改配置文件也没有解决, 我发现主是的问题是这样的:
这个问题就是, 版本库中的svnserve.conf中的password-db路径在windows操作系统下的绝对路径设置的问题。我在svnserve.conf中关于password-db设置的说明如下:
### The password-db option controls the location of the password
### database file.  Unless you specify a path starting with a /,
### the file's location is relative to the conf directory.
### Uncomment the line below to use the default password file.
说明中的意思是, 如果以"/"为开头,就表示password-db设置的为绝对路径。其它的都为相当路径。
应此,如果在webconfig.conf中的UserConfigFile设置为D:\svn_sys\Authz\passwd。用此Web管理工具创建的版本库中的svnserve.conf的password-db生成的是..\..\D:\svn_sys\Authz\passwd.
再用客户端TortoiseSVN用SVN://方式连接时,提示:
错误: 不能打开文件“D:\svn_sys\SVNData\YJ_LCD2000\conf\..\..\D:\svn_sys\Authz\passwd”: 文件名、目录名或卷标语法不正确。   

所以,就是在window下如何设置password-db的绝对路径!

TOP

引用:
原帖由 wangyl1982 于 2007-8-20 10:38 发表
谢谢回复!
多库的根目录:\svn_sys\SVNData
子库是用web管理工具创建的;
UserConfigFile 设置为 D:\svn_sys\Authz\passwd
AuthzConfigFile 设置为 D:\svn_sys\Authz\authz
ReposPath       设置为 D:\svn_sys\SVNData ...
wangyl1982:
ReposPath请设成 D:\svn_sys\SVNData\   (请注意最后一个 \)
我发现一个问题,你的配置文件不在仓库目录下,而是另外一个目录,可能因此仓库建库的时候计算的相对路径不对.

svnserve.conf据我测试好象只支持相对路径,手册中说支持绝对路径,实际好象在Windows下不支持,你手工设置成相对路径看看
password-db = ..\..\..\Authz\passwd
authz-db = ..\..\..\Authz\authz

你试试看用上面的设置是不是可以访问了.

TOP


goldpicker:
谢谢, 回复!

我将password-db设置为相对目录, 格式如上所述, 为..\..\Autha\passwd, 是可以成功连接了!

然后, 我来设置webconfig文件, 发现:
UserConfigFile 设置为 D:\svn_sys\Authz\passwd时, 打开login.aspx时, 可以正常登陆, 但建立的版本库中生成的password-db为:..\..\D:\svn_sys\Authz\passwd, 这个结构是不能正常工作的, 要手工修改为..\..\Authz\passwd, 即改为相对目录。就可正常工作了。

如果把UserConfigFile 设置为Authz\passwd, 则打开login.aspx时, 登陆后, 出错, 估计是不能找到passwd文件,因为设置的是相对目录。

因此, 在window下, 此处有些不足, 建议在webconfig中增加配置选项,或统一约定采用相对目录,程序做处理。

试用在即, 能否改动一下。

MSN:liufangren1982@hotmail.com

TOP

发新话题
订阅 我用Subversion - SVN中文论坛 邮件列表:iUseSVN@googlegroups.com
电子邮件:
网站重要事项将会在这个列表进行通知,点击这里浏览存于列表中的所有邮件