常见版本控制软件的优缺点?PB用什么?抛砖引玉,介绍ObjectCycle2.0

JudgeDee 2001-09-12 11:12:53
ObjectCycle2.0应用

关键字:
ObjectCycle、登记(Register)、检出(Check out)、检入(Check in)、冻结(Freeze)、解冻(Unfreeze)

背景知识:
版本控制软件利用数据库记录和管理软件各种组成部分。OC使用的是Sybase SQL Anywhere 5.5,在数据库中保存的可能是*.sr*类的文本文件。使用OC,可自动记录软件开发的详细历史,不仅仅对软件的版本进行了控制,还能够协调多个程序员的工作,对整个软件的开发过程进行有效的管理,从而大大提高开发效率,至少可以不必保存许多份不同版本的PBL文件,弄得自己也搞不清楚不同版本文件之间的差别。

一. OC的主要功能
1.保存对象的所有版本,从而可以将整个软件恢复到以前的某一时间点。

2.实现对象的互斥性修改,即PBL中的某个对象在同一时间只能由一个程序员修改。
需要修改对象的程序员从文件中Check out一个对象,这时其他程序员就不可以再Check out同一个对象了,只有当第一个程序员修改测试完成后,将更新版本的代码做Check in,其他程序员才能Check out该对象。

3. 限制随意修改对象。
在OC中可以将用户分为管理员和程序员两种角色,只有管理员可以将对象冻结(Freeze)和解冻(Unfreeze),被冻结的对象是不允许修改的。

4. 记录每个对象的修改过程,从而对每个程序员编写的对象质量进行评估。
OC完整地保存开发中对应用对象每一个源文件所有的修改记录,这些记录包括完成修改对象的程序员、修改时间、对本次修改的解释。通过调阅这些记录,对对象修改的次数、修改原因和修改情况进行统计,就能够对每一个程序员编写的程序质量进行综合评估。这些记录还能使项目管理人对整个项目的进度,程序的编写修改情况有一个整体的了解。

5. 将开发环境与测试环境、运行环境进行有效的隔离

6. 管理文档
OC不仅为各种开发软件提供了存放对象的接口,还能存放任意类型的文件,这样我们可以在OC中建立专门的文件夹,用来存放软件开发过程中生成的各种文档,对于每个文档可以存放它的多个版本,供随时查阅。

二. 具体操作
1. 安装软件
运行objectcycle201\setup.exe,选择安装client和PowerBuilder6 Manager,其它Next即可。

2. 修改口令
运行OC软件,open a project,菜单options下,修改口令。

3. 连接OC Server
在PB的PBL画板中选择菜单source/connect,Vonders选择ObjectCycle或SCC API,输入用户名和口令,选择所属project。

Project在OC Manager中创建

注意,Vonders选择ObjectCycle或SCC API,在功能上有一些差别,如果下面叙述的某个功能找不到,重新connect并将Vonders在ObjectCycle和SCC API之间切换即可。

4. 修改配置
菜单source/configuration,修改Local Poject Path为系统临时目录,例如C:\Windows\Temp。
菜单design/options,选中source Mgmt.打开本地日志。

5. 登记register对象
选中对象,按Ctrl可以多选,菜单source/register,OK。
清除登记对象,source/clear register。
列出已经注册的对象,source/Registeration Directory。
登记过的对象必须check out后才能修改,不能直接修改。登记过的对象图标增加一个圆柱形。

6. 工作PBL与公共PBL
工作PBL是指用来临时存放check out对象的PBL。建议将工作PBL放在和公共PBL相同的目录下,使用work_用户名.pbl的形式。在PBL画板中创建PBL即可。然后在application的搜索路径中,将工作PBL放到最前面。只增加自己的工作PBL,不要增加别人的工作PBL。
公共PBL指存放所有对象的PBL。公共PBL中的所有对象均已登记,必须check out到工作PBL中,修改完再check in到公共PBL中。

7. check in和check out对象
在PBL画板中选中对象,菜单source/check out或check in。check out的对象图标增加箭头。check out到工作PBL后,修改自测完毕,check in到公共PBL。
Check in 对象时可以输入注释,说明本次修改的内容。要求此注释必须输入,越详细越好。

8. 版本比较
菜单source/compare difference,或者在source/registeration directory弹出窗口中按Ctrl选择2个版本号,点击按钮compare即可。

9. 查看谁check out了对象
菜单source/check out status。

10. 版本标签Version Label
用来标记某个对象的某个版本。对象版本号为1.0、1.1之类形式,每次check in时自动增加。因此某个时间可能不同对象的版本号码有很大差异,但实际上它们是同一个版本。可以在check in对象时输入版本标签,也可以在编译程序时为所有对象的当前版本加上同一个版本标签。
在source/registration directory下可以用filter按钮过滤某个版本标签的对象。

11. 恢复早期版本
错误修改程序后,可恢复某个对象的早期版本。在source/registration directory窗口下找到该对象的早期版本,用take按钮可以恢复。

12. 创建发行版本
当所有对象都没有被check out时,可使用菜单source/create a release version创建发行版本。创建发行版本时将创建一个新的Project,既可以保存对象全部版本,也可以只保存当前最新版本。

13. 同步synchronize
当check in时死机,或者发生其它意外,需要同步,以使PBL中对象内容和OC数据库中一致。菜单source/synchronize。

14. 批量登记对象
OC中批量登记对象比较麻烦。如果再登记界面中选择Project的Folder,每登记一个对象需要重新选择一次Folder,很麻烦。目前我只找到一个办法,如下:
(1)批量登记到Project的根目录,按住回车即可快速登记。
(2)在OCM中将对象移动到相应Folder。
由于OCM中没有移动功能,只能先Cut再Paste。Cut和Paste需要OCM中admin权限,我已经修改大家为admin。
注意:一次只能批量登记一个PBL中的对象,将该部分对象移动到相应目录后,再登记另一个PBL。否则2个PBL中的对象混在根目录下,就要手工1个1个移动了。

15. OCM速度慢
有时用OCM速度很慢,可能是只安装了TCP/IP协议,地址解析需要较长时间。建议安装netbeui协议,或者在本机hosts文件中增加OC服务器的IP地址。

16. 无法check out对象
使用OC时发现有无法check out对象的情况,报错说找不到对象。原因已经查明,由于Register时对象在Project的根目录下,移动到某个目录下,则出现此情况。
解决方法为:在PB菜单source/configuration弹出窗口
ObjectCycle: 将左边目录全部拖动到右边,确认即可。
SCC API: 点advanced按钮,左面展开project nodes,选中后点按钮-->,将全部目录添加到右面列表中,确认即可。
注意:日后在OCM中增加了目录,仍需要在PB/source/configuration中增加该目录,操作同上。

以上功能全部使用PB操作,以下功能全部在OC Manager(缩写OCM)中操作。

17. OCM中的Folder和PBL的对应
OCM中可以在同一个Project中加入文件夹Folder,可以有多级。我们规定每个PBL建立一个同名的文件夹,并建立文档文件夹。

18. 文档管理
在OC Manager中加入Object,选择文件,类型为binary即可。加入文件相当于register,之后同样通过check in / out来记录文档不同版本。
察看文档不同版本:OCM中选中对象,右击选菜单Properties,表单history,选中版本后按钮Get,可以将文件保存到自己选定的目录下。
注意,为了减轻OC数据库负担,加入OC的文档必须小于1000KB。
加入的范围:全部文档。

19. 冻结和解冻对象
这个功能必须在OC Manager中由具备Admin权限的用户进行。被冻结的对象不能check out,不能修改。一般只冻结已经稳定的对象。
如果要修改被冻结的稳定对象,必须首先提交需求书、程序设计说明,审核后管理员将对象解冻。程序员将对象check out并修改,自测后交QA进行测试,如果测试不符合要求,提交程序员继续修改;如果测试成功,程序员填写修改解释,然后check in对象,管理员将对象重新冻结,完成对象的修改。让测试人员测试无误后才check in对象,可避免错误的对象影响其他人员使用和测试应用系统。
...全文
672 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
newskysoft 2001-09-13
  • 打赏
  • 举报
回复
我以前使用clear case,现在改用pb8的native,集成到pb里面了,优点:速度奇快!廉价!!缺点:据说无法实现多版本管理,没试过,反正我也不会把应用搞回以前的版本,只要支持团队开发我就满足了。
1genut 2001-09-13
  • 打赏
  • 举报
回复
rational网站上应该有吧,不过俺在PB7上用时,有时check out之后出错,表现为加锁,又没办法check in,不知: Hanson_bati_zhu(Hanson_bati_zhu)兄碰到过这种情况没有,如何解决的?
JudgeDee 2001-09-13
  • 打赏
  • 举报
回复
ClearCase何处有?
Hanson_bati_zhu 2001-09-13
  • 打赏
  • 举报
回复
兄弟现在在用ClearCase,比以前的SourceSafe功能强多了
也贵。。。。太。。。。多了
8-(
Hanson_bati_zhu 2001-09-13
  • 打赏
  • 举报
回复
工具终究是工具
还得人用啊
关键在于管理

401

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 非技术版
社区管理员
  • 非技术版社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧