Windows版
1、安装服务器端程序
安装SubVersion
2、创建版本库
svnadmin create D:\DevRepository\SvnRepo
3、启动服务
svnserve -d -r D:\DevRepository\SvnRepo
查看是否已经启动,利用netstat -an查看是否监听了3690端口
作为windows服务:
sc create SVNService binpath= "D:\ProgramFiles\Subversion\bin\svnserve.exe --service -r D:\DevRepository\SvnRepo" start= auto depend= Tcpip
在服务中可以看到有一个名为SVNService的服务,启动即可。
//删除服务
sc delete SVNService
4、检出文件
svn checkout svn://localhost/
提交文件
svn commit HelloSVN.txt
会提示失败信息,如下
svn: E200009: 提交失败(细节如下):
svn: E200009: “E:\DevWorkSpace\WorkSpaceSVN\HelloSVN.txt” 尚未纳入版本控制
加入版本控制
svn add HelloSVN.txt
加注释提交
svn commit -m "My first commit" HelloSVN.txt
svn: E170001: 提交失败(细节如下):
svn: E170001: 认证失败
设置权限
编辑安装路径下的配置文件,如D:\DevRepository\SvnRepo\conf\svnserve.conf
设置匿名访问:anon-access = write
再次提交
svn commit -m "My first commit" HelloSVN.txt
此时就可以看到提交成功了,信息如下:
正在增加 HelloSVN.txt
传输文件数据.
提交后的版本为 1。
编辑后提交
svn commit -m "Tom commit" HelloSVN.txt
此时就可以看到提交成功了,信息如下:
正在发送 HelloSVN.txt
传输文件数据.
提交后的版本为 2。
取出当前版本
svn checkout svn://localhost/
此时就可以看到取出成功了,信息如下:
取出版本 2。
5、Eclipse集成SVN
将解压后的文件复制到Eclipse的dropins文件下,重启Eclipse即可。
在Eclipse的Window-Preferences-Team下可以看到SVN选项,表明安装成功。
6、Eclipse中利用SVN进行分享和检出
右击选中的项目,Team选项中选中Share Project,选中SVN,设置资源库路径 svn://localhost/ ,确定后会打开提交页面,右击提交更新即可。
7、仓库URL地址必须指向一个带有conf/db/文件夹的目录
如我的svn服务路径是D:\DevRepository\SvnRepo ,其下有多个分支,仓库URL地址应该是指向分支的路径。
8、冲突的解决
当不同的人同时编辑同一行代码时,造成的内容不一致而造成冲突;发生冲突时会产生后缀为mine的文件,代表是自己提交的内容;还有两个后缀为“r+数字”的文件,
其中这两个小版本为发生冲突之前的服务器端的版本,大版本为发生冲突之后的服务器端的版本。
【解决】:当发生冲突时,必须先更新,更新之后会生成上述三个文件。
右击Team,编辑冲突,代码改好后保存(只能修改本地代码),关闭冲突编辑页面,
然后右击此文件Team,标记为解决,然后提交即可。
步骤【发生冲突---更新本地代码---编辑冲突---标记为已解决---提交代码】
如何减少冲突???
修改之前先更新!
解决冲突!
人员沟通!
9、svn权限
编辑路径D:\DevRepository\SvnRepo\giser\conf下的一下三个文件,具体设置如下:
1)编辑svnserve.conf文件:设置一下三处(
1、设置授权访问auth-access = write
2、设置密码文件信息password-db = passwd
3、设置用户账号信息authz-db = authz)
2)编辑passwd文件:设置用户名和密码(
giser = giser
gis = gis
hjd = hjd)
3)编辑authz文件:设置用户权限,具体如下,
①在[groups]下设置组,如:
giserdev=giser,gis
其表示设置giserdev组,成员有giser和gis;
②在样例[/foo/bar]下设置权限,如下:
[/]
@giserdev = rw
hjd = r
* =
其中[/]表示对哪个路径下的文件的操作权限进行设置;
@表示对哪个组的成员进行权限设置;
hjd = r表示对hjd这个用户进行权限设置;
* =表示屏蔽其它未知成员进行操作
备注:r表示读权限,w表示写权限,不写表示没有任何权限,读写是针对svn服务器的。
10、时光机(svn的历史记录)
右击Team–显示资源历史记录,查看此文件的历史提交记录,即修改记录。
11、設置svn語言
在安装完Eclipse 的SVN插件subeclipse后,默认状态是中文,要进行中英文转换可以:
在Eclipse的configuration文件下找到config.ini文件,用写字板打开,在最后面添加上如下代码即可:
1. 下面配置是设置SVN插件为英文菜单:
# Set Subversion English Version
osgi.nl=en_US
2. 下面配置是摄自SVN插件为中文菜单:
# Set Subversion Chinese Version
osgi.nl=zh_CN