SVN第一次亲密接触 & 极简使用小结

以前用过几天CVS,一方面是不太好用,另一方面没这个需要,结果一真没有正式地用上。

这次更新我的QQ农场计时器程序,发现不进行版本控制实在容易搞混。于是初衷是弄一个本地服务器。后来由于把数据这部分交给别人帮忙做了,所以又把SVN服务器架设到远程主机上去了,小记一下。

 

1.下载软件

SubVersion:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=8100

客户端TortoiseSVN:http://tortoisesvn.net/downloads

Eclipse插件Subclips:http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA(在线安装)

 

2.安装

服务器端:先装Subversion,然后是TortoiseSVN,然后重启

客户机端:Eclipse->Help->software updates...->Add site...

 

3.创建仓库

我是这样管理的,在服务器上D盘新建两个文件夹Sources(放以前的源代码FarmTimer)、SVN(仓库所在)。在SVN中新建FarmTimer,右键点击,选择TortoiseSVN->Create Repository Here,很快完成。接着在Sources/FarmTimer上右击,选择TortoiseSVN->Import...,在对话框中输入file:///d:/SVN/FarmTimer,很快导入完成。

 

现在在服务器本地就可以看到代码文件了:TortoiseSVN->Repo-Browser,输入(会自动填上)file:///d:/SVN/FarmTimer,即可。file:///是本地协议。

 

4.远程

我的服务器的外网IP是11x.2xx.9x.x3x。SVN要想供远程使用必须要安装服务:在CMD窗口运行svnserve -d -r D:/SVN

(我这里没有用svnserve -d -r D:/SVN/FarmTimer,所以下面在客户机上的连接地址要注意一下),运行后保持窗口打开。

 

现在TortoiseSVN->Repo-Browser,输入svn://11x.2xx.9x.x3x/FarmTimer,就可以了。(如果刚才是svnserve -d -r D:/SVN/FarmTimer的话,现在的地址就是svn://11x.2xx.9x.x3x)。

 

不过现在是匿名登陆,只能read。

 

5.配置

打开服务器端D:/SVN/FarmTimer/conf/svnserve.conf

找到:

# anon-access = read
# auth-access = write
# password-db = passwd

这三句的含义分别为:匿名的只有读的权限、通过认证的可以写(当然也可以读)、用户名和密码在passwd文件中

 

接着打开D:/SVN/FarmTimer/conf/passwd

在末尾加上

thy38 = thy
即用户thy38的密码为thy。

 

这样就行了,其它还有什么组权限什么的设置,暂时先不管它了,以后要用再说吧。

 

6.连接

在客户机上TortoiseSVN->Export,SVN地址还是svn://IP/FarmTimer,本地地址D:/FarmTimer,就可以导出了。

现在到D:/FarmTimer就可以看到很多文件,比方我对uiApp.py做些修改,然后保存,退出编辑,在文件上右击选择SVN commit...,这时会让你写一小段注释,点OK之后就会要你输入认证,这里是thy38、thy。就OK啦!

 

7.Subclipse

在Eclipse中安装完成Subclipse后,选择Windows->Show View->Other...,找到SVN->SVN资源库,点OK。下方会有SVN资源库视图,右键 新建->资源库位置...,输入svn://IP/FarmTimer,就可以浏览文件。接着在根上右键 检出为...,导出为一个项目,在项目的任一文件上右键 Team,可以找到相关的SVN设置。

 

好了,到这里吧,就到这里吧。SVN还有不少要学习的,我一定会回来的!

 

 PS:2012-03-26

好吧,我又回来了。在公司要架一个SVN服务器,这跟以前在本机用不一样了,按网上教程多的是,可还是要注意一些要点。

1. 把SVN安装为系统服务

sc create svn binpath= "C:\Programs\Subversion\bin\svnserve.exe --service -r C:/SVN" displayname= "Subversion Server" depend= Tcpip start= auto

-r 的路径用/比较好,用\出现过服务无法启动


2. SVN目录结构

比较好的一个结构是:

SVN-

      -Repo1

      -Repo2

每个Repo*是一个版本库

而SVN就是root。对应在Apache中就是:

<Location /repos>
  DAV svn
  SVNParentPath "d:/svn"
</Location>
访问时为http://IP/repos/Repo1

3. SVN协议和http协议访问同一个版本库时的地址不同,以上述为例:

SVN://IP/Repo1

http://IP/repos/Repo1


4. 两个password不同

AuthUserFile /etc/svn/passwordfile
这个是Apache中的,是打开 http://IP/repos/Repo1的用户名、密码

而每个版本库中的passwd文件是该版本库的用户名、密码


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值