svn server 的搭建

part 1:基本环境

OS:  ubutnu 10.10

ip:  172.16.2.142


part 2: server 端相关操作

1 建立svn仓库 (svn 相关) 
svnadmin create /home/myrepos
2 初始化代码仓库 (代码相关)
mkdir -p code/{branches,tags,trunk}
3 在trunk 目录下建立一些文件,作作为自己的项目
如下建立了几个简单的文件
touch  a.py b.py c.py
4 将项目 添加到svn库中
#这里只是把具体的代码 code 添加到代码仓库中, 在代码仓库的物理路径下看不到物理代码
svn import code file:///home/myrepos
5 启动svnserve 服务
svnserve -d -r /home/myrepos
-r 以root 用户开启
-R 只读
-d 以后台守护 进程运行, daemon 
--listen-port=
--listen-host=
--foreground=

6 修改 conf/svnserve.conf (在修改 conf/passwd 之前,任何用户下载下源码之后做了修改是不能提交的)

比如 如下svn checkout 一份代码之后

jia@jia:~$ svn co svn://172.16.2.142/trunk jia_trunk

对repository 中的代码做了一些修改,然后试图往svn reposity 同步, 是不可以的。

jia@jia:~/jia_trunk$ svn ci -m "jia add a new line" a.py

svn: Commit failed (details follow):

svn: Authorization failed

1: 修改 conf/svnserve.conf:

将 [general] 中的 password-db = passwd之前的注释去掉

2: 修改conf/passwd文件, 将文件中的:
[users]
# harry = harryssecret
# sally = sallyssecret

改为自己要添加的用户
[users]
jiaxiaolei=111111
luojun=111111
guozhaoxai=111111

修改myrepos svn 仓库的属主:(如果不修改svn repository 的属主,修改之后还是不能提交)
sudo chown -R  w_jiaxiaolei:w_jiaxiaolei /home/myrepos/
# 添加参数 -R, 递归执行     chown --help 可以查看帮助

part 3: 客户端相关操作
1 客户端安装 subversion (sudo apt-get install subversion)后,几乎不需要任何配置,就可以checkout了。
远程拷贝目录(在客户端拷贝):
# 以 svnserve -d -r /home/myrepos 启动svnserver 之后, svn://172.16.2.142 指向的物理路径就是  /home/myrepos,所以接下来的 svn co 就应该是 
svn co svn://[ip_addressa]/trunk  destination

jia@jia:~$ svn co svn://172.16.2.142/trunk jia_trunk
A jia_trunk/a.py
Checked out revision 1.

jia@jia:~/jia_trunk$ svn info
Path: .
URL: svn://172.16.2.142/trunk
Repository Root: svn://172.16.2.142
Repository UUID: 4d193cd0-74ab-4950-984d-69390d01ab21
Revision: 1
Node Kind: directory
Schedule: normal
Last Changed Author: root
Last Changed Rev: 1
Last Changed Date: 2011-08-29 13:53:07 +0800 (Mon, 29 Aug 2011)

2 在客户端checkout之后,通过svn info 可以查看svn server 的相关信息:
jia@jia-server-001:~/jia_svn_test$ svn info
Path: .
URL: svn://172.16.2.142/trunk
Repository Root: svn://172.16.2.142
Repository UUID: 858c5beb-a197-449b-84d7-1ecf6f426c1f
Revision: 29
Node Kind: directory
Schedule: normal
Last Changed Author: jia
Last Changed Rev: 27

Last Changed Date: 2011-07-11 20:33:48 +0800 (Mon, 11 Jul 2011)


至此,svnserver 上的搭建就算是完成了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
服务器subversion跟客户端tortioseSVN 在服务器上已经有了, 下边是如果再把我的目录加上去. 首先要创建个版本库(resposity)加权限~~~~~~~~~~ 在目录如E:\repository下"右键->TortoiseSVN->Create Repository here...“, 然后可以选择版本库模式, 这里使用默认即可, 然后就创建了一系列目录和文件。 resposity 目录,里边conf子目录下面有两个文件是控制用户权限的. 修改svnserve.conf: # [general] # password-db = passwd 改为: [general] password-db = passwd 然后修改同目录的passwd文件,去掉下面三行的注释: # [users] # harry = harryssecret # sally = sallyssecret 最后变成: [users] harry = harryssecret sally = sallyssecret 其次是运行svn服务器~~~~~~~~~~ 在cmd下运行 svnserve -d -r E:\repository 我们的服务器程序就已经启动了。 注意不要关闭命令行窗口,关闭窗口也会把svnserve停止。 之后到初始化导入~~~~~~~~~~ 来到我们想要导入的项目根目录,如E:\Project,目录下有一个readme.txt文件: 右键->TortoiseSVN->Import... URL of repository输入“svn://localhost/” ok 完成之后目录没有任何变化,如果没有报错,数据就已经全部导入到了我们刚才定义的版本库中。 需要注意的是,这一步操作可以完全在另一台安装了TortoiseSVN的主机上进行,即在另一台客户端咯。 如运行svnserve的主机的IP是192.168.1.40,则URL部分输入的内容就是“svn://192.168.1.40/” 导入完之后,其他机子只要装上Tortiose svn,之后url上边输入svn://192.168.1.40/就可以checkout咯. 之后用法也很简单

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值