- 版本管理
- 传输请求
- 版本比较
一、版本管理
版本管理是什么
版本管理是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。
最主要的功能就是追踪文件的变更。它将什么时候、什么人更改了文件的什么内容等信息忠实地了记录下来。每一次文件的改变,文件的版本号都将增加。除了记录版本变更外,版本控制的另一个重要功能是并行开发。软件开发往往是多人协同作业,版本控制可以有效地解决版本的同步以及不同开发者之间的开发通信问题,提高协同开发的效率。
并行开发中最常见的不同版本软件的错误(Bug)修正问题也可以通过版本控制中分支与合并的方法有效地解决。
版本管理的内容
版本控制包括:检入检出控制、分支和合并、 历史记录。
检入检出控制
软件开发人员对源文件的修改不能在软件配置管理库中进行,对源文件的修改依赖于基本的文件系统并在各自的工作空间下进行。为了方便软件开发,需要不同的软件开发人员组织各自的工作空间。一般说来,不同的工作空间由不同的目录表示,而对工作空间的访问,由文件系统提供的文件访问权限加以控制。
访问控制需要管理各个人员存取或修改-一个特定软件配置对象的权限。开发人员能够从库中取出对应项目的配置项进行修改,并检入到软件配置库中,对版本进行“升级”;配置管理人员可以确定多余配置项并删除。
同步控制的实质是版本的检入检出控制。检入就是把软件配置项从用户的工作环境存入到软件配置库的过程,检出就是把软件配置项从软件配置库中取出的过程。检人是检出的逆过程。同步控制可用来确保由不同的人并发执行的修改不会产生混乱。
分支和合并
版本分支(以一个已有分支的特定版本为起点,但是独立发展的版本序列)的人工方法就是从主版本——称为主干上拷贝一份,并做上标记。在实行了版本控制后,版本的分支也是一份拷贝,这时的拷贝过程和标记动作由版本控制系统完成。
版本合并(来自不同分支的两个版本合并为其中一个分支的新版本)有两种途径,一是将版本A的内容附加到版本B中;另一种是合并版本A和版本B的内容,形成新的版本C。
历史记录
版本的历史记录有助于对软件配置项进行审核,有助于追踪问题的来源。历史记录包括版本号、版本修改时间、版本修改者、版本修改描述等最基本的内容,还可以有其他一些辅助性内容,比如版本的文件大小和读写属性。
举例
1.一个版本以传输请求号作为载体,包含了很多对象的版本。在创建程序保存时弹出的传输请求号(一个传输请求号相当于一个版本)

2.保存激活后进行对象版本的查看


3.确定版本
创建完程序进行释放(发布)确定版本
事务代码:SE10

发布成功

确定了版本后,当修改源程序后,需要重新创建请求号

激活后再次查看版本,可以看到多了一个版本。

二、传输请求
传输请求有:创建、修改、删除、合并
创建:SE10

输入描述信息

创建成功

修改:SE10
1)修改抬头属性

2)修改内容对象
首先查看修改前程序所用版本

删除对象

已经删除

再次查看版本

然后当执行程序时,可再次修改其他的版本

修改成功

删除:SE10

删除成功

注意:先删除锁对象,然后删除请求号
合并:SE10
举例:
1.分支请求号的查看:
主程序请求号:“ S4HK909677”。

include程序请求号“ S4HK913183”。

INCLUDE程序请求号查看

2.分支请求号合并方法一:
SE10显示所有的对象,【合并请求】
路径选择

合并请求

请求合并成功

请求包含查看

分支请求号合并方法二:手工合并
SE10中删除请求号中的对象,然后在修改程序或者配置时重新选择请求号。
三、版本比较
举例一:本地比较
选择两个版本进行比较

修改内容查看

举例二:远程比较
如果想比较两个不同系统的method实现,可以使用ABAP workbench的remote comparison功能。假设比较是从system A发起的,前提是A系统必须存在一个到B系统的RFC connection。
(即从开发机或者从测试机的一个系统中对比不同的服务器中的代码的版本。)
选择两个版本进行比较

网友评论