1.1. 浏览器作为客户端工具浏览源码仓库
Subversion 有两种运行方式,基于Apache Http Server 的运行方式的好处就是可以使用浏览器作为客户端工具浏览源码仓库
打开浏览器, 在地址栏内输入 服务器仓库地址, 系统会提示输入用户名密码( 如图1), 输入正确的用户名密码后, 即可浏览项目相关的工作 产品了( 如图2)
这个功能对于不参与实际开发工作又需要及时了解项目进展情况的相关人员( 如部门经理, 技术总监, 总经理等相关人员) 来说特别方便.
(图1 ) (图2 )
1.2. 安装客户端配置工具TortoiseSVN
安装客户端工具TortoiseSVN ( //devnotesvr/ 共享软件/ 配置管理 工具/SVN/Client/ TortoiseSVN-1.3.1.5521-svn-1.3.0 ),安装完成后,你会发现在任何目录下,鼠标右键菜单增加了SVN Checkout…… TortoiseSVN 两个菜单项
(图1 ) (图2 )
图1 :在任何目录的空白处点击鼠标右键,定位到TortoiseSVN 出现的菜单
图2 :在SVN 工作拷贝的目录或文件下,点击鼠标右键,定位到TortoiseSVN 出现的菜单
1.3. TortoiseSVN 功能简介
1、 SVN Checkout(SVN 取出 )
点击SVN Checkout ,弹出检出提示框,在URL of repository 输入框中输入服务器仓库地址,在Checkout directory 输入框中输入本地工作拷贝的路径,点击确定,即可检出服务器上的配置库。
2、 SVN Update(SVN 更新 )
如果配置库在本地已有工作拷贝,则取得最新版本只是执行SVN Update 即可,点击SVN Update ,系统弹出更新提示框,点击确定,则把服务器是最新版本更新下来
3、 Import (导入)
选择要提交到服务器的目录,右键选择TortoiseSVN----Import ,系统弹出导入提示框,在URL of repository 输入框中输入服务器仓库地址,在Import Message 输入框中输入导入日志 信息,点击确定,则文件导入到服务器仓库中。
4、 Add( 加入 )
如果有多个文件及文件夹要提交到服务器,我们可以先把这些要提交的文件加入到提交列表中,要执行提交操作,一次性把所有文件提交,如图,可以选择要提交的文件,然后点击执行提交(SVN Commit ), 即可把所有文件一次性提交到服务器上
5、 Resolving Conflicts( 解决冲突 )
有时你从档案库更新文件会有冲突。冲突产生于两人都修改文件的某一部分。解决冲突只能靠人而不是机器。当产生冲突时,你应该打开冲突的文件,查找以 <<<<<<< 开始的行。冲突部分被标记:
<<<<<<< filename
your changes
=======
code merged from repository
>>>>>>> revision
Subversion 为每个冲突文件产生三个附加文件:
filename.ext.mine
更新前的本地文件。
filename.ext.rOLDREV
你作改动的基础版本。
filename.ext.rNEWREV
更新时从档案库得到的最新版本。
使用快捷菜单的 编辑冲突 Edit Conflict 命令来解决冲突。然后从快捷菜单中执行 已解决 Resolved 命令,将改动送交到档案库。请注意,解决 命令并不解决冲突,而仅仅是删除 filename.ext.mine and filename.ext.r* 文件并允许你送交。
6、 Show-Log (显示日志)
点击Show-Log ,系统弹出日志信息,包括版本号,作者,更新日期,日志信息(如图),点击日志信息框的Statistics 按钮,系统显示统计信息,subversion 有三种统计选择:Statistics (如图),Commits by week (如图),Commits by author (如图)。
7、 Repo-Browser (文件库浏览器)
点击Repo-Browser ,系统弹出仓库的树状目录,可以很清楚地浏览整个仓库目录结构, 如图:
8、 Check for Modifications (检查更新)
点击Check for Modifications, 系统列表所以待更新的文件及文件夹的状态, 如图
9、 Revision Graph( 版本分支图 )
查看文件的分支, 版本结构, 可以点击Revision Graph, 系统以图形化形式显示版本分支, 如图
10、 Update To Revision( 更新至版本 )
如果想查找某一个版本的内容, 可以选择Update To Revision, 在提示框内输入指定的版本号, 即可更新到指定的版本, 如图
11、 Rename( 改名 )
SVN 支持文件改名, 点击Rename, 弹出文件名称输入框, 输入新的文件名称, 点击确定, 再把修改提交, 即可完成文件改名
12、 Delete( 删除 )
SVN 支持文件删除, 而且操作简单, 方便, 选择要删除的文件, 点击Delete, 再把删除操作提交到服务器,
13、 Moving( 移动 )
选择待移动的文件和文件夹; 按住右键拖动 right-drag 文件(夹)到跟踪拷贝内的新地方;松开左键 ; 在弹出菜单中选择 move files in Subversion to here
14、 Revert( 还原 )
还原操作, 如刚才对文件做了删除操作, 现在把它还原回来, 点击删除后, 再点击提交, 会出现如上的提示框, 点击删除后, 再点击Revert, 即已撤销删除操作, 如果这时候点击提交, 则系统弹出提示框: 没有文件被修改或增加, 不能提交, 如图
15、 Branch/Tag( 分支/ 标记 )
当需要创建分支,点击Branch/Tag ,在弹出的提示框中,输入分支文件名,输入日志信息,点击确定,分支创建成功,然后可查看文件的版本分支情况,如图,
16、 Switch( 切换 )
文件创建分支后,你可以选择在主干工作,还是在分支工作,这时候你可以通过Switch 来切换。
17、 Merge( 合并 )
主干和分支的版本进行合并,在源和目的各输入文件的路径,版本号,点击确定。系统即对文件进行合并,如果存在冲突,请参考冲突解决。
18、 Export( 导出 )
把整个工作拷贝导出到本地目录下, 导出的文件将不带svn 文件标志, 文件及文件夹没有绿色的 ” √ ” 符号标志。
19、 Relocate( 重新定位 )
当服务器上的文件库目录已经改变,我们可以把工作拷贝重新定位,在To URL 输入框中输入新的地址,如图:
20、 Add to Ignore List( 添加到忽略列表 )
大多数项目会有一些文件 (夹 )不需要版本控制 ,如编译产生的 *.obj, *.lst , 等。每次送交, TortoiseSVN 提示那些文件不需要控制,挺烦的。 这时候可以把这些文件 加入忽略列表。
21、 SVN 其它相关功能
客户端修改用户密码 :
打开浏览器, 在地址栏内输入 http://192.168.1.225/cgi-bin/ChangePasswd , 启动客户端修改用户密码的界面( 如图1), 输入正确的用户名, 旧密码, 新密码( 注意密码的位数应该不小于6, 尽量使用安全的密码), 点击修改即可.