svn(源码仓库)使用导航
——附svn服务器搭建
一、SVN客服端TortoiseSVN安装
首先到官网http://tortoisesvn.net/downloads.html下载最新版svn客户端,并安装。
一般保持默认安装即可
二、SVN服务器访问
1、 直接打开浏览器,输入访问地址(我们的地址是http://192.168.1.107:8080/svn/,该地址由svn服务器配置(参见以下服务器陪置)时设定),出现如下界面
此时输入用户名,密码(同样由svn服务器配置时提供,当前已创建两个用户,第一个 用户arduino(控制板用),第二个用户octoprint(web端用),其密码分别是用户名之 后加321),即可正常访问。
2、 在任意空白地方单击鼠标右键选择Repo-browser
在弹出的对话框中输入访问地址
之后会弹出以下对话框,输入用户名,密码即可
三、TortoiseSVN使用,源码管理
当前svn服务器已经为arduino,octoprint用户分别建立了名为Arduino,Octoprint的两个根目录,访问时在http://192.168.1.107:8080/svn/地址后加上对应根目录名,再使用对于用户访问即可,例如访问http://192.168.1.107:8080/svn/Arduino,使用arduino用户
1、 源码上传,以上传octoprint源码为例
上传之前可以先在根目录下创建自己工程的目录,操作如下
同样在任意空白处右键单击选择Repo-browser
在弹出胡对话框的空白处右键单击,选择Create folder
填写你的文件夹名字
填写必要的说明信息
如此你的工程目录就创建成功了
同样,你也可以删除你认为不需要目录,操作同创建类似
现在选择你本地要上传的源码目录,右键单击,选择Import
在弹出在对话框中确认上传地址是否正确
之后填写此版本的必要说明信息(非常重要,方便你以后管理你的源码版本)
单击OK,完成上传
3、 源码下载,以下载octoprint源码为例
在你的本地新建一个目录用于保存将要下载的源码,右键单击选择SVN Checkout...
弹出如下对话框,注意检查两个地址是否正确
此时点击OK默认下载最新版本,可以通过单击Show log选择指定版本
对于已通过Checkout下载过源码的目录,可直接右键单击此目录
选择SVN Update可更新至最新版本
选择Update to revision...可还原到以前的某一版本,弹出如下对话框
选择Show log,弹出以下对话框
选择你要还原胡版本即可
对已通过Checkout下载过源码的目录的目录,另一种快速上传源码的方法
右键单击此目录
选择SVN Commit...
填写必要的说明信息(再次强调,这非常重要)
选择你要上传的文件,fortest,test.c是新增文件夹和文件,
Octoprint/gcodefile.py,run是修改过在文件
单击OK即可完成上传。svn客户端使用导航到此结束
附录1:TortoiseSVN中常见图标的含义
一个新检出的工作复本使用绿色的勾做重载。表示Subversion状态 正常。
在开始编辑一个文件后,状态就变成 已修改,而图标重载变成了红色感叹号。通过这种方式,可以很容易地看出那些文件从你上次更新工作复本后被修改过,需要提交。
如果在提交的过程中出现了 冲突 图标变成黄色感叹号。
如果你个一个文件设置了 svn:needs-lock属性, Subversion 会让此文件只读,直到你获得文件锁。
只读文件具有这个重载图标来表示你必须在编辑之前先得到一个锁。
如果你拥有一个文件的锁,并且Subversion状态时 正常 ,这个重载图标就提醒你如果不使用该文件的话应该释放锁,允许别人提交对该文件的修改。
这个图标表示当前文件夹下的某些文件或文件夹已经被计划从版本控制中 删除,或是该文件夹下某个受控的文件丢失了。
改图标告诉你有一个文件或是目录已经被计划加入版本控制。
附录2:svn服务器搭建
一、引言
笔者曾经试图在网上搜索一篇关于SVN源代码服务器搭建方面的中文技术文章,可惜,所找到的,要么是不完整,要么就是对笔者没什么帮助的文 章,TortoiseSvn的帮助文档固然强大,但因为是英文,不是很适合来作为入门者使用;毕竟,TortoiseSvn是一个客户端,服务器端的配置 也很重要。
一年前,笔者刚刚毕业,初入公司,在进行开发时,由于没有进行软件代码版本管理,导致的结果是
· 软件一天一个版本
· Bug日益增加且隐藏很深
· 代码无法向前回溯
· 几个月前修正过的Bug在几个月后又重新出现
· ……
由于最近公司决定架设SVN源代码服务器,来解决以上问题,故笔者经过一段时间的摸索和使用,便有了此文。
二、学习本文先决条件
如果作为读者的你符合以下情况,那么本文可以对你起到一个很大的帮助作用:
· 具备基本的软件开发知识
· 了解Client/Server模型
· 正在被日益更新的软件代码版本所困扰
本文旨在指导读者如何利用现有的软件工具进行软件代码版本管理工作,如果你对软件版本控制与管理,维护与备份较为感兴趣,可以阅读此文来获取一定的知识。
三、安装SVN服务器端软件
首先,你必须下载两款软件包:VisualSVN Server和TortoiseSVN,两者都是开源软件,至于在哪里下载,百度或谷歌之,尽量使用最新版就好,我使用的版本如下:
服务器端:VisualSVN-Server-2.5.5.msi
客户端:TortoiseSVN-1.7.5.22551-win32-svn-1.7.3.msi
双击以下图标,打开安装包:
单击“Next”
勾选“I accept...”,然后单击“Next”
选择第一个“安装VisualSVN Server(可视化SVN服务器)”和“Management Console”
Location是你的 安装目录,C盘或D盘都可以,Repositories是你的源代码仓库,也就是你SVN帮你管理代码放置的位置,这里我选择放置在D盘根目录下,将 “Use secure connection”复选框的勾去掉(如果不去,这浏览器不能直接访问,暂未解决),然后在Server Port中填写8080(填其他端口号也可以,但是确保该端口号未被占用),在这里不使用安全连接的原因是,它会导致通讯速度减慢(PS:当时在公司配置 时使用的secure connection,每次Checkout一次要15秒多的时间,无法忍受),然后单击“Next”:
单击“Install”
等待……
Finish!
单击“Finish”后,会启动VisualSVN Server,可以看到,它的Status是:
VisualSVN Server is running
Server URL is http://motor-109133.hanslaser.com:8080/svn/
至此,服务器端软件安装完毕!注:对3.0以上的版本,URL将不再显示,如需查看应按如下步骤
右击VisualSVN Server (Local)->Properties->Network,此处即可看到Server name及Server Port。
此即为访问地址,如果User secure connection (https://) 复选框未选才可直接通过浏览器访问
此外,还有一点,对于windows7还应配置防火墙规则,添加对应协议,端口,应用程序访问的入站,出站规则,才能使非本机正常访问
四、SVN服务器配置项目
右键单击“Repositories”,选择“Create New Repository...”
在“Repository Name”下方文本框填入“TestSvn”(作为测试用),将“Create default structure(trunk,branches,tags)”选项勾选上,单击OK
可以看到在Repositories树下面,有一个TestSvn库,这个TestSvn库中有三个文件夹:
· branches(分支,修改特殊功能或者新功能的分支代码,可与主干进行合并)
· tags(标记,设定milestone版本)
· trunk(主干,存放当前正在编辑的代码工程)
开始新建用户(用户组管理请各位自己研究),右键单击“Users”,选择“Create User...”
在“Create New User”对话框中填写账号密码,如图所示:
可以看到Users文件夹下面有了一个用户:
记得将 Repositories仓库的属性修改一下,因为它默认的属性是Everyone Read/Write,意思是任何人都可以对该库中的内容进行读写,现在我们要将其修改成Everyone No Access,然后再自己添加用户,给予用户读或写的能力,右键单击“Repositories”,选择“Properties”:
选中“Everyone”,然后勾选“No Access”:
现在开始为TestSvn添加一个用户,也就是刚刚添加的账号:zhengshuo,右键单击“TestSvn”,选择“Properties...”:
单击“Add...”,选择Users下的zhengshuo,单击OK
这样用户zhengshuo就被添加到TestSvn项目中(即目前只有zhengshuo才有对TestSvn的读写权利):