Subversion,简称SVN,是一个开放源代码的版本控制系统。 额. 灰常好用。
准备工作 :
下载:
服务器端程序下载: http://subversion.tigris.org/getting.html#binary-packages
Windows常用客户端TortoiseSVN:http://tortoisesvn.net/downloads
好了。win下 傻瓜式 下一步下一步安装完毕(装完客户端需要重启)。 现在做一下配置一个版本库。
1:创建一个版本库 ,可以在任意一个盘里 右键–选择创建
当然, 也可以使用命令行
2:导入项目到版本库
现在有一个项目(假设test),我在D盘建立一个文件夹test,然后test文件夹下建立trunk, branches,tags 文件夹,trunk存放项目代码,主线,branches存放代码分支,tags 存放标签,当然,那只是建议,建议是好的,你也可以直接就在test下放代码,哥就是。
导入项目,在test文件夹上右键 导入
也可以命令行导入项目:
svn import 要导入 导入地址
OK,现在可以在本机checkout了
可是 checkout的还是本地的绝对路径,不能发布到网络与svn地址. 这个,就用svnserve 的选项, 指定一个路径。
svnserve -d -r d:/svnTest
现在checkout 的时候就可以用 形如 svn://127.0.0.1/trunk 的了。
3. 让svnserve作为Windows服务
上一步完后,命令行窗口要不关闭才能服务一直启动,现在系统是windows,所以,要把 svnserve做成一个服务来才更加方便。使用命令行工具SC.EXE定义新的服务。
C:\> sc create svntest
binpath= “\”C:\program files\svn\bin\svnserve.exe\” –service -r C:\repos”
displayname= “Subversion Server”
depend= Tcpip
start= auto
图中 红线圈起所示部分, 要注意 引号与空格呀, 红线之上就是少了一个空格而错误。
4.设置用户名密码与访问权限
现在就可以网络上访问了。 其他电脑chekout一份 出来 svn://IP地址/trunk 了。 但是要给不同用户 设置 用户名与权限。 找到你创建版本库文件夹下的conf文件夹, 里面有 authz passwd svnserve.conf 3个文件
authz文件最终设置完成的样式为这样:
[/]
tan=rw
*=r
[/trunk]
lzc=rw
xiaoliu=rw
*=r
[/] 代表下面的用户名可以操作该版本库下的所有项目,[/trunk]代表下面的用户只可对trunk项目进行读写操作,就以上图解释:tan用户可以对该版本库的所有项目进行读写,而其他用户只能是读,不能进行写的操作,lzc和xiaoliu用户只可以对版本库里的trunk项目进行读写,其他用户对这个项目都只能是读而不能写,TAN用户也不可以对DELPHI项目进行写操作,因为在最后面用了*=R,切断了父权限,而*=R不能省去,省去会出错,如果设*= ,则是不能读该项目,就是打开版本库的时候看不到该项目下的文件。
Passwd (设置用户名和密码) 文件最终设置完成的样式如下:
[users]
lzc= 123
xiaoliu= 123
cc= 123
左边是用户名,右边是该用户名的密码。
svnserve.conf 的设置格式,找到20行# password-db = passwd 27行 # authz-db = authz 去掉前面的注释。
12,13行 改成
anon-access = none
auth-access = write
好了。 设置完了,现在可以 在客户端 checkout commit Update 了。具体的如何使用 待下回分解。