软件配置管理实验报告-SVN
- 格式:doc
- 大小:265.50 KB
- 文档页数:8
软件配置管理中的SVN一.简单介绍1、什么是软件配置管理软件配置管理是指通过运行版本号控制、变更控制的规程。
以及使用合适的配置管理软件。
来保证全部配置项的完整性和可跟踪性。
配置管理是对工作成果的一种有效保护。
2、为什么须要配置管理假设没有软件配置管理,最大的麻烦是工作成果无法回溯。
随着工作的进展新的程序覆盖了老的程序,当突然发现新程序有问题而老程序正确时怎么办?那仅仅能重写老的程序来覆盖新的程序。
过一段时间又发现原来的老程序有问题,而解决方法在原来的新程序中……您是不是快要发疯了。
为了避免成果被覆盖。
包含我自己在内的非常多人早期採用手工管理版本号的方式。
比如当一个新版本号产生时用当时的日期来命名目录大发生然后再复制一下以后的改动在复制的目录内进行。
这样上一个版本号就被保存下来了,周而复始不同的版本号不会被覆盖。
尽管这样的方式能够从某种程度上解决版本号的回溯问题,但他存在的缺点是显而易见的:第一点假设保留结果过于频繁,将会导致产生大量的有着反复内容的目录。
庞大的物理空间,管理起来非常麻烦;假设保留旧版本号的时间间隔太长,可能产生某些实用的老程序无法回溯。
拿我近期开发的一个程序来说程序仅仅有几十兆,经过一年的开发各版本号累计到1G。
第二easy产生版本号的混乱,假设是团队开发软件,这样的简单的方法更难解决这个问题的本质了。
3、人的问题配置管理的方法是成熟的,并且对应的软件工具也是成熟的,基本上不存在看不懂、不会用的问题。
配置管理的运行效果怎样。
全然是事在人为。
妨碍配置管理的主要问题是人们嫌麻烦和侥幸心理作怪。
在没出乱子的情况下,运行版本号控制看起来有些麻烦。
每次改动工作的时候总是要GetLatestVersion。
接着CheckOut。
改动完后又要CheckIn,多做了三步。
事实上这三步加起来也就十几秒钟。
并且不费脑子,根本没有加入多少麻烦。
不过个人感觉不爽而以。
然而不运行版本号控制的话。
万一发生工作成果被覆盖或丢失等问题,麻烦就大了。
练习一:建立仓库 目的:通过本练习掌握 SVN 仓库的创建
准备:安装 TSVN、 VisualSVN 1.4.5 以上版本 时间:8 分钟
一、建立仓库
步骤 说明
1、在 D 盘创建根目录 svn 及子目录 repository、workcopy
2、创建 SVN 仓库
l在 repository 目录下建 svnlib 目录
svnlib,即 d:\svn\repository\svnlib
l在svnlib上单击右键,选择[Tsvnà
在此创建版本库]
3、观察 svnlib 目录下的文件
4、访问 SVN 仓库
l TSVNà版本库浏览器
l版本库URL:
file:///D:/svn/repository/svnlib
l点确定
二、利用 VisualSVN 建立仓库
步骤 说明
1、打开 VisualSVN Server Manager
2、创建 SVN 仓库
l在 repository 目录下右键,选择
[Create New Repository]
l仓库名为:svnlib
3、创建用户
l在 user 目录下右键,选择[Create
New Repository]
4、访问 SVN 仓库
l TSVNà版本库浏览器
l版本库URL:
https://localhost:8443/svn/svnlib
l点确定
思考:两种仓库创建与访问的有何不同,主要差异是什么?有何心得?
实验心得。
北方民族大学学生实验报告系(部、中心)计算机科学与工程学院姓名紫恋漪晨学号 2012**** 专业软件工程班级四班同组人员课程名称软件工程实验名称实验七软件配置管理工具VSS基本应用实验日期 2013.11.21 批改日期成绩教师签名丁红胜北方民族大学教务处制一、实验目的a)理解软件配置管理的目的、用途和意义b)了解现有软件配置管理工具的主要特点和功能c)掌握VSS工具的基本使用二、实验内容a)软件配置管理基本原理和功能要求基本原理:(1)在整个软件的生命周期中提供标识和控制文档、源代码、接口定义和数据库等工件的机制。
(2)提供满足需求,符合标准,适合项目管理及其他组织策略的软件开发和维护的方法学。
(3)为管理和产品发布提供支持信息,如基线的状态、变更控制、测试、发布、审计等等。
功能要求:1、版本控制:对软件开发进程中文件或目录的发展过程提供有效的追踪手段,保证在需要时可回到旧的版本,避免文件的丢失、修改的丢失和相互覆盖,通过对版本库的访问控制避免未经授权的访问和修改,达到有效保护企业软件资产和知识产权的目的。
2、工作空间管理:提供一种便捷的访问正确版本的机制。
工作空间管理包括工作空间的创建、维护与更新、删除等,工作空间应具备稳定性、一致性、透明性等特点。
缺少有效的工作空间管理会造成由于文件版本不匹配而出错和降低开发效率,更长的集成时间等问题。
3、并行开发支持:同一软件的多个版本会同时进行开发,从而有效缩短软件的上市周期。
为实行并行开发模式,需要一种机制将前一个版本中后期开发的功能合并到后一个版本中。
4、过程控制:配置管理系统应该能够支持灵活的配置管理流程,并实现过程自动化以提高配置管理效率。
5、构建和发布管理:构建和发布管理的目的地确保软件构建是可重现的、高效的和可维护的。
6、异地开发支持:配置管理系统能够有效支持地理上分布的团队之间的远程协作。
典型异地开发模式具有以下特点:(1)支持跨多个地点的分布式开发。
配置管理之SVN使用配置管理是软件开发过程中不可或缺的一环,它涉及到版本控制、配置项的管理、更改控制和发布管理等多个方面。
在配置管理中,版本控制是最基础的一个环节。
而在版本控制工具中,SVN(Subversion)是一种被广泛使用的开源版本控制系统,本文将介绍SVN的基本使用方法。
一、SVN的安装和配置2. 创建仓库:SVN的核心概念是仓库(repository),开发者将项目的所有版本和相关的文件都存储在仓库中。
在命令行中进入合适的目录,执行以下命令创建一个新的仓库:svnadmin create <repository_name>二、SVN的基本操作svn checkout <repository_url> <local_directory>2. 添加(Add)文件:在检出项目后,你可能需要添加新的文件到项目中。
使用以下命令可以将文件添加到SVN中:svn add <file_name>3. 更新(Update)项目:当其他开发者对项目进行了修改并提交到仓库中后,你可以使用以下命令将这些修改同步到你的本地工作环境中:svn update5. 查看日志(Log):使用以下命令可以查看项目的提交记录和详细信息:svn log6. 比较文件(Diff):使用以下命令可以比较两个或多个文件的差异:svn diff <file_name>7. 回滚版本(Revert):如果你对文件进行了错误的修改或不满意的修改,可以使用以下命令将文件回滚到之前的版本:svn revert <file_name>8. 分支和合并(Branching and Merging):SVN还支持分支和合并功能,这使得不同版本可以同时进行开发。
使用以下命令可以创建和合并分支:svn copy <source> <destination>svn merge <source> <destination>三、SVN的高级用法svn copy <source> <tag>2.锁定:在一些情况下,你可能需要锁定一些文件以防止其他人进行修改。
SVN(Subversion)是一个版本控制系统,用于管理和追踪在一个项目中的文件和目录的历史。
它可以帮助开发人员协作开发同一个项目,同时避免不同版本之间的冲突。
在这次实验中,我主要扮演了SVN管理员的角色,以下是我在这次SVN实验中的一些心得体会:
1. SVN是团队协同工作的好工具:通过SVN,我们可以将项目文件集中管理,并且可以方便地查看历史记录,进行版本控制和比较。
这使得团队成员之间的协作更加高效和有序。
2. SVN可以有效地管理代码版本:在开发过程中,代码的版本控制非常重要。
SVN可以记录每一次代码的修改,使得我们可以轻松地回滚到任何一个版本,或者查看某个特定版本的区别。
3. SVN的使用需要一定的学习成本:与Git相比,SVN的命令行操作可能更加繁琐一些。
因此,对于初学者来说,理解SVN的基本概念和掌握基本操作可能需要一些时间。
但是,一旦掌握了SVN 的基本用法,就可以更好地利用它来管理代码。
4. SVN的分支和标签功能很有用:在开发过程中,我们经常需要维护多个版本。
SVN的分支和标签功能可以帮助我们创建多个并行版本,同时保持它们之间的独立性。
5. SVN的安全性需要关注:由于SVN存储的是明文密码,因此需要注意SVN服务器的安全性。
在生产环境中,应该考虑使用HTTPS 来保护数据传输,并设置合适的访问权限和身份验证机制。
总的来说,SVN是一个非常实用的版本控制系统,可以帮助团队更好地协作和管理代码。
虽然它的学习曲线可能有些陡峭,但是一旦掌握了基本的用法,就可以充分利用它来提高开发效率和管理代码的质量。
软件过程管理
实验报告(2011/ 2012 学年第二学期)
实验报告
实验报告
四、实验小结(包括问题和解决方法、心得体会、意见与建议等)
svn(subversion)是近年来崛起的版本管理工具,是cvs的接班人。
目前,绝大多数开源软件都使用svn作为代码版本管理软件。
SVN采用virtual copy(虚拟拷贝)的方式创建分支.创建后展现给客户端的是独立的库路径,而实际上和主版本共用同样的数据,哪怕是创建多个分支.因此,完全不用担心创建多个分支会增加磁盘的占用空间,而且,其创建效率也是非常高的,官方的说法是constant time(恒定时间),无论你的库有多大,其创建分支的时间基本上是恒定的。
SubVersion官方建议SVN库根目录应包括Trunk和Branches,这是两个最基本的目录.其实其目录结构可以是任意的.一般Trunk存放主版本,Branches存放众多的分支版本.如下图所示EAS100C的SVN目录结构.因此可以把EditionG3和EditionContracts放在Branches目录.
如何创建分支
TortoiseSVN是官方SVN客户端,以性能好,对Subversion支持全面而被广泛使用.(Tortoise,海龟,无明确寓意).
有多种方式可创建分支.
方式一
第一种方式是采用浏览模式,这种方式简单,快捷,会以当前trunk的最新修订本创建分支,无其他可选项.见完整图示:
(1)右键,选择Repo-browser
(2)输入库路径(SVN可支持svn:,http:等多种形式的服务,以svn:为性能最佳)
(3)浏览库目录
(4)右键要创建分支的目录
(5)输入分支要存放的路径,如Branches/EditonG3
(6)创建成功
方式二
第二种方式是使用Trunk本地工作副本(Working copy),也是利用TortoiseSVN来创建,见完整图示: (1)打开本地Trunk流工作副本
(2)处理所有本地修改.这里结合使用两种方式,第一个是使用Revert可取消本地文件修改,另外一个是使用TortoiseSVN的扩展菜单(Shift+右键)Delete unversioned items,删除无版本状态的文件.使用SVN有一点可使使用者放心,就是本地的任何修改不提交到服务器总是不会起影响服务器状态的.
(3)使用update更新Trunk working copy到最新版本.
(4)创建分支
(5)填写必要分支信息(To URL:分支创建到的库路径,Create copy in the repository from,指定从哪个revision创建拷贝,switch work copy to new branch/tag:切换工作区副本到分支流,该选项为可选,选中后速度会较慢),执行
(6)创建成功
常见问题:
隐藏文件.svn目录删除了怎么办?
Checkout后,工作空间下.svn目录下有大量隐藏文件,占用比较大的空间,他们是工作空间的管理文件,不能删除,如果不小心删除了也不要抓狂,不会影响服务器端的,重新checkout就又可以工作了。
如果想不包含这些隐藏文件导出,可以用TSVN菜单里的export完成。
提示:405 Method Not Allowed的原因和解决方法
用TortoiseSVN访问基于apache配置的svn版本库时,有时候会提示错误405 Method Not Allowed,开始用TSVN checkout了一个正常的目录,假设服务器地址为:http://svn/project1,之后,服务器经过其它配置,这个地址变了,使得用这个地址不再能访问到正确的版本库,此时,TSVN就极有可能报405错误。
另外,当你访问的地址大小写与服务器的地址不一致时,也会出现该错误。
只要将TSVN访问的地址改成正确的,或修改服务器配置,使原地址可以访问即可解决。
成绩批阅人日期。