part 1:基本环境
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=
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
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 上的搭建就算是完成了。