下载安装
首先是下载,地址:http://jaist.dl.sourceforge.net/project/win32svn/1.8.13/Setup-Subversion-1.8.13.msi
安装就不多说了
配置版本库
在非中文无空格的目录下新建一个文件夹,作为SVN版本库根目录,我的是
PS D:\svnroot> pwd Path ---- D:\svnroot PS D:\svnroot>然后在这个目录下针对不同的项目再建立不同的文件夹
PS D:\svnroot> tree 卷 软件 的文件夹 PATH 列表 卷序列号为 0006-17B7 D:. ├─cal └─readme └─cal PS D:\svnroot> ls可以看到我一共新建了三个目录,其中cal作为项目的版本库目录,而readme目录中则是有一个与cal版本库目录同名的文件夹,此文件夹保存cal项目的说明、一些需要额外保存的文件等。
创建版本库的命令
svnadmin create d:\svnroot\cal
启动服务器程序
这里我使用的是注册windows服务
需要使用windows中的sc命令
主命令 |
子命令 |
参数1 |
参数2 |
参数3 |
参数4 |
sc |
create |
服务名 |
binpath= “运行服务所需要的二进制文件路径以及运行该二进制文件的命令行参数” |
start= auto 表示自动启动 |
depend= Tcpip 表示依赖Tcpip协议 |
[注意:在这个命令中,等号左边都没有空格,右边都有一个空格!] |
我这里完整的命令:
sc create MySVNService binpath= "D:\program\svn\svn\bin\svnserve.exe --service -r D:\svnroot" start= auto depend= Tcpip注意一定要在CMD中运行此命令,如果在powershell中运行会有如下错误:
PS D:\svnroot\cal> sc create MySVNService binpath= "D:\program\svn\svn\bin\svnserve.exe --service -r D:\svnroot" start= auto depend= Tcpip Set-Content : 找不到接受实际参数“binpath=”的位置形式参数。 所在位置 行:1 字符: 3 + sc <<<< create MySVNService binpath= "D:\program\svn\svn\bin\svnserve.exe --service -r D:\svnroot" start= auto depend= Tcpip + CategoryInfo : InvalidArgument: (:) [Set-Content], ParameterBindingException + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.SetContentCommand PS D:\svnroot\cal>
关于如何在命令行中使用svn,由于我对于powershell/cmd命令没多少兴趣,所以这一部分我就不再记录了,而且我也不会
单一版本库配置
尚硅谷提供的方法:
①要设置授权访问就需要创建用户,并为用户设定权限
②打开授权访问的配置
[1]打开D:\DevRepository\Subversion\ERP\conf\svnserve.conf
[2]将第19行anon-access = write注释掉:# anon-access = write
表明该版本库不接受匿名访问
[3]将第20行# auth-access = write注释打开:auth-access = write
表明该版本库使用授权访问
[4]将第27行注释打开:password-db = passwd
表明使用同目录下的passwd文件保存用户信息
[5]将第36行注释打开:authz-db = authz
表明使用同目录下的authz文件保存权限信息
[6]打开passwd文件创建用户
userWrite01 = 123456 userWrite02 = 123456 userRead = 123456 userOther = 123456 |
[7]打开authz文件:#后面注释的是例子
<1>创建用户组
[groups] # harry_and_sally = harry,sally # harry_sally_and_joe = harry,sally,&joe canWrite = userWrite01,userWrite02 |
<2>指定路径,给用户和用户组授权
# [/foo/bar] # harry = rw # &joe = r # * =屏蔽那些未设定的用户,让它们没有任何权限 [/] @canWrite = rw userRead = r * = |
<3>权限的继承性:父目录设置的权限,对子目录同样有效——除非子目录进行了更为具体的设定
[/subDir] userOther = rw * = |
这个例子表示当前版本库下的subDir目录只有userOther有读写权限,其它用户无任何权限
在eclipse中安装svn插件
如果不能联网可以使用下载好的插件压缩包eclipse_svn_site-1.10.5.zip,这个压缩包是从http://subclipse.tigris.org/网站(subclipse是这款Eclipse插件的名称)上下载的。安装方法是:
①解压eclipse_svn_site-1.10.5.zip中的features和plugins这两个目录
②将features和plugins复制到Eclipse安装目录/dropins/eclipse_svn_site-1.10.5下
③重启Eclipse
④进入Eclipse依次打开Window→Preferences→Team→SVN,看到如下界面即说明SVN插件安装成功
1.1 创建资源库位置
①切换到透视图SVN资源库研究
②创建资源库位置
此时可以查看版本库中的文件及目录结构
1.2 检出
①检出分两种情况
<1>从服务器端获取到的是一些零散的文件,不能作为项目检出
此时会弹出一个新建项目向导,之所以会这样是因为我们需要创建一个项目来保存从服务器端取回的文件
<2>从服务器端获取到的是一个完整的项目,例如
此时必须作为项目检出
项目从服务器检出后,会成为一个工作副本,根目录下会自动创建.svn隐藏目录
1.3 提交
①新创建文件后,文件图标上会以“?”标识,表示该文件尚未纳入版本控制
②在新创建的文件上点右键→Team→添加至版本控制,这样文件图标上会显示“+”,表示当前文件已纳入版本控制,但还未提交至服务器。
③在要提交的文件上点右键→Team→提交...会提交文件,在弹出的对话框中可以不填写日志。文件提交后,图标会变为“金色的圆柱体”表示当前文件的版本和服务器端一致。
④文件修改后图标会变为“*”,表示当前文件或目录包含未提交的修改。
1.4 更新
①更新整个项目时可以在项目上点右键→Team→更新
②更新某个具体的文件时,可以在文件上点右键→Team→更新
1.6 回复历史版本
①在需要回复的文件上点右键→Team→显示资源历史记录→得到如下界面
②选择某一个历史记录点右键→获取内容。文件就会恢复到指定版本的状态,同时图标变为“*”。
简单记录这么多,其它的内容可自行搜索