在实际的项目开发中,多个开发人员协同开发确实能够提升项目的开发效率,但在不同开发人员对同一个DC进行修改时,往往会因为对相同版本的开发对象检出并修改而产生代码冲突。下面通过实例解析处理版本冲突的方式。
开发实例:
1)继续以上一节中创建的Web Dynpro项目为例,再次编辑视图时,首先进行检出动作,如图9-90所示。
图9-90 检出对话框
2)检出后,将新修改的内容放入一个新的活动中,如图9-91所示。
图9-91 创建活动
3)接着修改按钮的实现方法,添加下列代码,作为第一名开发人员的修改记录:
4)使用第二名开发人员的账号登录NWDI,并使用新的开发工具的工作空间进行修改,在检出时NWDI首先会弹出确认框提示该文件已经被其他用户检出并在修改。在实际开发过程中,需要特别关注这个提醒消息,并及时与组内其他开发人员进行沟通,以便顺利进行后续工作。在本实例中,为了测试代码冲突,仍然单击“OK”按钮,继续检出,如图9-92所示。
图9-92 代码冲突确认对话框
5)同样地,创建一个动作,用于包含第二名开发人员对开发对象所做的修改,如图9-93所示。
图9-93 创建动作
6)接着修改按钮的实现方法,添加下列代码,作为第二名开发人员的修改记录:
7)此时,两名开发人员都已对同一个开发对象进行了修改,任何人进行“Checkin”的检入操作都会失败,如图9-94所示。(www.daowen.com)
图9-94 报错对话框
8)在DTR视图中可以看到文件已标记为红色,表示已有代码冲突产生,如图9-59所示。
9)如果右击这些源代码文件,并查看版本图像,则可以看到最新修改中产生了两个同样的版本,如图9-96所示。
图9-95 产生冲突的开发对象
图9-96 查看DTR版本记录
10)正因为两个版本的存在,所以导致第二名开发人员在检入活动时失败。比较简单的两种处理方式:一种方法是强制接受本地修改,覆盖服务器端代码;另一种方法是接受服务端的版本,覆盖本地代码,并做再次修改提交。如果比较熟悉处理代码冲突,还可以使用“Merge”功能,手动将两个版本代码进行合并。这里使用第二种方法,首先重新从服务器端同步源代码文件,右击活动中产生冲突的开发对象,选择“Resolve Conflict”→“Accept Active(Remote)Version”,如图9-97所示。
图9-97 处理冲突的菜单选择
11)弹出的对话框确认是否接受覆盖本地代码的操作,单击“Accept Active Version”按钮,如图9-98所示。
图9-98 确认版本的对话框
12)在将所有文件覆盖后,记得将项目进行“Reload”重新载入最新版本的代码,接着进入视图控制器,就可以看到第一名开发人员已经添加的代码,如图9-99所示。
图9-99 查看重装后的代码
注:在团队开发过程中,不论使用哪种方法处理代码冲突,一定要提前与其他开发人员或开发组长进行沟通,团队协作不仅依赖于系统提供的检入、检出、覆盖等功能,还依赖于团队成员的良好沟通机制。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。