我用的是超级管理员!!!
安装软件包:apt-get install subversion
检查是否安装完毕:svn --version
创建一个仓库根目录(位置个人喜好):mkdir -p /srv/svn
创建版本仓库:
cd /srv/svn/
mkdir -p project1
svnadmin create /srv/svn/project1
创建版本库后,在这个目录下会生成如下配置文件:ll /srv/svn/project1/conf
(1)svnserve.conf: svn服务配置文件
[general] #匿名用户不可读 anon-access = none #权限用户可写 auth-access = write #密码文件为passwd password-db = passwd #权限文件为authz authz-db = authz
(2)passwd: 用户名口令文件。
[users] # harry = harryssecret # sally = sallyssecret test=123456
###密码是明文的。
(3)authz: 权限配置文件。
[groups] admin = test,john, kate devteam1 = john, rachel, sally devteam2 = kate, peter, mark docs = bob, jane, mike training = zak --这里把不同用户放到不同的组里面,下面在设置目录访问权限的时候,用目录来操作就可以了。 # 为所有库指定默认访问规则 # 所有人可以读,管理员可以写,危险分子没有任何权限 [/] --对应我测试里的:/srv/svn 目录 * = r @admin = rw dangerman = # 允许开发人员可以完全访问他们的项目版本库 [proj1:/] @devteam1 = rw [proj2:/] @devteam2 = rw [bigproj:/] @devteam1 = rw @devteam2 = rw trevor = rw # 文档编写人员对所有的docs目录有写权限 [/trunk/doc] @docs = rw # 培训人员可以完全访问培训版本库 [TrainingRepos:/] @training = rw
启动svn服务:
svnserve -d -r /srv/svn
其中 -d 参数让 svnserve 运行在后台,-r 参数限定了数据仓库根目录,在网络上访问时省去部分地址,例如svn://xxx.xxx.xxx.xxx/project1。
检查服务是否启动:netstat -antp | grep svn
svn的默认端口是3690
客户端连接:svn://xxx.xxx.xxx.xxx:3690/project1
启动和停止svn:
svnserve -d -r /srv/svn/
killall svnserve
接下来就可以使用SVN了
检出服务器上的文件
svn checkout 地址
上传新文件
svn add 文件名/目录
svn commit -m "备注"
要删除文件则输入:
svn delete 文件名
svn commit -m "备注"
如果是误删了文件
直接 svn up 或者 svn revert -r version
收藏一个同题主题:http://www.cnblogs.com/me115/archive/2013/04/07/3002058.html