Merge pull request #1573 from christianguenter2/issue_1559

run code inspector after conflict resolution
This commit is contained in:
Lars Hvam 2018-07-07 09:01:14 +02:00 committed by GitHub
commit 0403e29109
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 60 additions and 15 deletions

View File

@ -6,6 +6,7 @@ CLASS zcl_abapgit_gui_page_code_insp DEFINITION PUBLIC FINAL CREATE PUBLIC
constructor
IMPORTING
io_repo TYPE REF TO zcl_abapgit_repo
io_stage TYPE REF TO zcl_abapgit_stage OPTIONAL
RAISING
zcx_abapgit_exception,
@ -26,11 +27,13 @@ CLASS zcl_abapgit_gui_page_code_insp DEFINITION PUBLIC FINAL CREATE PUBLIC
CONSTANTS:
BEGIN OF c_actions,
stage TYPE string VALUE 'stage' ##NO_TEXT,
commit TYPE string VALUE 'commit' ##NO_TEXT,
rerun TYPE string VALUE 'rerun' ##NO_TEXT,
END OF c_actions.
DATA:
mt_result TYPE scit_alvlist.
mt_result TYPE scit_alvlist,
mo_stage TYPE REF TO zcl_abapgit_stage.
METHODS:
build_menu
@ -75,17 +78,32 @@ CLASS zcl_abapgit_gui_page_code_insp IMPLEMENTATION.
lv_opt = zif_abapgit_definitions=>gc_html_opt-crossout.
ENDIF.
IF mo_stage IS BOUND.
" Staging info already available, we can directly
" offer to commit
ro_menu->add( iv_txt = 'Commit'
iv_act = c_actions-commit
iv_cur = abap_false
iv_opt = lv_opt ) ##NO_TEXT.
ELSE.
ro_menu->add( iv_txt = 'Stage'
iv_act = c_actions-stage
iv_cur = abap_false
iv_opt = lv_opt ) ##NO_TEXT.
ENDIF.
ENDMETHOD.
METHOD constructor.
super->constructor( ).
mo_repo ?= io_repo.
mo_stage = io_stage.
ms_control-page_title = 'Code Inspector'.
run_code_inspector( ).
ENDMETHOD. " constructor.
@ -178,14 +196,29 @@ CLASS zcl_abapgit_gui_page_code_insp IMPLEMENTATION.
WHEN c_actions-stage.
IF is_stage_allowed( ) = abap_true.
" we need to refresh as the source might have changed
lo_repo_online->refresh( ).
CREATE OBJECT ei_page TYPE zcl_abapgit_gui_page_stage
EXPORTING
io_repo = lo_repo_online.
ev_state = zif_abapgit_definitions=>gc_event_state-new_page.
ELSE.
ei_page = me.
ev_state = zif_abapgit_definitions=>gc_event_state-no_more_act.
ENDIF.
WHEN c_actions-commit.
IF is_stage_allowed( ) = abap_true.
CREATE OBJECT ei_page TYPE zcl_abapgit_gui_page_commit
EXPORTING
io_repo = mo_repo
io_stage = mo_stage.
ev_state = zif_abapgit_definitions=>gc_event_state-new_page.
ELSE.

View File

@ -38,7 +38,7 @@ ENDCLASS.
CLASS ZCL_ABAPGIT_GUI_PAGE_MERGE IMPLEMENTATION.
CLASS zcl_abapgit_gui_page_merge IMPLEMENTATION.
METHOD build_menu.
@ -184,12 +184,24 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_MERGE IMPLEMENTATION.
zcx_abapgit_exception=>raise( 'nothing to merge' ).
ENDIF.
IF mo_repo->get_local_settings( )-code_inspector_check_variant IS NOT INITIAL.
CREATE OBJECT ei_page TYPE zcl_abapgit_gui_page_code_insp
EXPORTING
io_repo = mo_repo
io_stage = mo_merge->get_result( )-stage.
ev_state = zif_abapgit_definitions=>gc_event_state-new_page.
ELSE.
CREATE OBJECT ei_page TYPE zcl_abapgit_gui_page_commit
EXPORTING
io_repo = mo_repo
io_stage = mo_merge->get_result( )-stage.
ev_state = zif_abapgit_definitions=>gc_event_state-new_page.
ENDIF.
WHEN c_actions-res_conflicts.
CREATE OBJECT ei_page TYPE zcl_abapgit_gui_page_merge_res
EXPORTING