ubuntu subversion安装与设置:http://wiki.ubuntu.org.cn/SubVersion#.E5.AE.89.E8.A3.85
[b]安装 subversion[/b]
sudo apt-get install subversion subversion-tools
[b]创建一个新的储存库:[/b]
svnadmin create /svn/repository
在/svn目录创建一个新的空储存库,数据储存方式默认采用Berkeley DB。
[b]导入你的源码:[/b]
svn import /svn/repository file:///data/ldap
把/data/ldap整个目录导入到储存库中的repository目录中,储存库的repository目录会自动创建。
[b]显示储存库内容:[/b]
mt@mtmt:~$ svn list file:///svn/repository
.cache/
.project
.projectOptions
.settings/
bbscnmo/
newcnmo/
显示目录内容,成功导入。
上面使用了file:///形式的URL来访问Subversion库,这表示在本地通过文件系统访问。但我们的Subversion库可能需要通过网络被其它用户访问,这就需要用到其它的协议,下表是Subversion支持的各种访问协议:
[b]访问协议 协议 访问方法[/b]
file:/// 通过本地磁盘访问。
http:// 与Apache组合,通过WebDAV协议访问。
https:// 同上,但支持SSL协议加密连接。
svn:// 通过svnserve服务自定义的协议访问。
svn+ssh:// 同上,但通过SSH协议加密连接。
[b]启动subversion:[/b]
svnserve -d -r /home/declan/svnproject --listen-port 21 (可以设定端口)
[b]设定用户的验证和相应的权限。[/b]
现在我们先建立一个叫 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
[b]安装 subversion[/b]
sudo apt-get install subversion subversion-tools
[b]创建一个新的储存库:[/b]
svnadmin create /svn/repository
在/svn目录创建一个新的空储存库,数据储存方式默认采用Berkeley DB。
[b]导入你的源码:[/b]
svn import /svn/repository file:///data/ldap
把/data/ldap整个目录导入到储存库中的repository目录中,储存库的repository目录会自动创建。
[b]显示储存库内容:[/b]
mt@mtmt:~$ svn list file:///svn/repository
.cache/
.project
.projectOptions
.settings/
bbscnmo/
newcnmo/
显示目录内容,成功导入。
上面使用了file:///形式的URL来访问Subversion库,这表示在本地通过文件系统访问。但我们的Subversion库可能需要通过网络被其它用户访问,这就需要用到其它的协议,下表是Subversion支持的各种访问协议:
[b]访问协议 协议 访问方法[/b]
file:/// 通过本地磁盘访问。
http:// 与Apache组合,通过WebDAV协议访问。
https:// 同上,但支持SSL协议加密连接。
svn:// 通过svnserve服务自定义的协议访问。
svn+ssh:// 同上,但通过SSH协议加密连接。
[b]启动subversion:[/b]
svnserve -d -r /home/declan/svnproject --listen-port 21 (可以设定端口)
[b]设定用户的验证和相应的权限。[/b]
现在我们先建立一个叫 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