Subversion v1.4.6使用摘要

来源:互联网 发布:win10用什么编写c语言 编辑:程序博客网 时间:2024/05/23 01:52
•配置svnserve为windows服务,开机自启:
sc create svnserve binpath= "/"d:/bin/svnserve.exe/" --service -r f:/svnroot" depend= "tcpip" start= "auto"
net start svnserve

•卸载svn服务:
net stop svnserve
sc delete svnserve

•设置svn访问权限:
修改配置文件svnserv.conf中,加上
anon-access = none
password-db = passwd
以屏蔽匿名访问,并允许认证用户访问。

•SVN使用“拷贝-修改-合并”方案,也支持“锁定-修改-解锁”方案;一般来讲,方案一更适合于文本文件的并发访问,产生冲突时通过人为合并给予解决。而对于二进制文件,人力无法解决冲突的文件,放案二更合适。使用svn lock / svn unlock 强制顺序化操作 “锁定/修改/解锁”模式。--force强迫锁定或解锁。

•SVN可以同时维护多个仓库。一个仓库下可以存放多个工程。所谓的更新版本号是相对于仓库而言。即其中任何一个工程的文件的更新都将引起整个仓库的版本号,反过来讲,单个项目或单个文件的版本号不一定连续。建议建立多个仓库,每个仓库存放相互关联的工程,各仓库之间相对独立。

•SVN每个仓库的布局,一般按习惯区分trunk,branches和tags。
对于多仓库且各仓库下有多项目的版本库,可类似如下组织:
svnroot
total1
/some1_1
/trunk
    |-FILE_A
    |-FILE_B
/branches
/tags
/some1_2
/trunk
/branches
/tags
/some1_3
/trunk
/branches
/tags
total2
/some2_1
/trunk
/branches
/tags
/some2_2
/trunk
/branches
/tags
•使用如下方法建立some1_1的版本库结构:
1 建立本地目录内容:
/some1_1
    |-FILE_A
    |-FILE_B
2 使用svn import将该目录里的内容(不包括盖目录)import到svn://localhost/svnroot/total1/ some1_1/trunk/。
3 使用svn checkout 将svn://localhost/svnroot/total1/ some1_1/trunk检出到本地路径/some1_1。

•svn访问时区分大小写的
•使用svn copy / svn move替代直接的文件系统操作

•使用svnadmin hotcopy备份
•使用svnsync建立镜像

•使用svndumpfilter将一个仓库的多个项目分割为多个仓库
svndumpfilter include somepro < repos-dumpfile > somepro-dumpfile
使用svnadmin dump 和svnadmin load转储仓库,并能将多个仓库容易的合并到一个仓库
svnadmin load /path/projects –parent –dir some < some-dumpfile
实际使用的时候用svndumpfilter出来的子仓库,在load时候报错,可能本身有缺陷。

•更多详情请参看svnbook.pdf或svn在线文档。Svn是单服务中心的,当无法连接服务中心的时候,无法提交修改。对于此类情况,可以考虑使用其它DVCS。
原创粉丝点击