mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +08:00
more stuff
This commit is contained in:
parent
6b8c87a413
commit
7b45d3c1cd
287
zagit.abap
287
zagit.abap
|
@ -40,19 +40,18 @@ TYPES: BEGIN OF st_repo,
|
||||||
url TYPE string,
|
url TYPE string,
|
||||||
branch_name TYPE string,
|
branch_name TYPE string,
|
||||||
END OF st_repo.
|
END OF st_repo.
|
||||||
*TYPES: tt_repos TYPE STANDARD TABLE OF st_repo WITH DEFAULT KEY.
|
|
||||||
|
|
||||||
TYPES: BEGIN OF st_repo_sha1,
|
TYPES: BEGIN OF st_repo_sha1,
|
||||||
url TYPE string,
|
url TYPE string,
|
||||||
branch_name TYPE string,
|
branch_name TYPE string,
|
||||||
sha1 TYPE string,
|
sha1 TYPE string,
|
||||||
END OF st_repo_sha1.
|
END OF st_repo_sha1.
|
||||||
TYPES: tt_repos_sha1 TYPE STANDARD TABLE OF st_repo_sha1 WITH DEFAULT KEY.
|
TYPES: tt_repos_sha1 TYPE STANDARD TABLE OF st_repo_sha1 WITH DEFAULT KEY.
|
||||||
|
|
||||||
TYPES: BEGIN OF st_result,
|
TYPES: BEGIN OF st_result,
|
||||||
type TYPE rseuap-obj_type,
|
obj_type TYPE rseuap-obj_type,
|
||||||
name TYPE rseuap-obj_name,
|
obj_name TYPE rseuap-obj_name,
|
||||||
action TYPE string,
|
match TYPE abap_bool,
|
||||||
END OF st_result.
|
END OF st_result.
|
||||||
TYPES: tt_results TYPE STANDARD TABLE OF st_result WITH DEFAULT KEY.
|
TYPES: tt_results TYPE STANDARD TABLE OF st_result WITH DEFAULT KEY.
|
||||||
|
|
||||||
|
@ -499,9 +498,7 @@ CLASS lcl_serialize DEFINITION FINAL.
|
||||||
RETURNING value(rt_files) TYPE tt_files
|
RETURNING value(rt_files) TYPE tt_files
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
CLASS-METHODS deserialize
|
CLASS-METHODS status IMPORTING it_files TYPE tt_files
|
||||||
IMPORTING it_files TYPE tt_files
|
|
||||||
iv_updated TYPE abap_bool
|
|
||||||
RETURNING value(rt_results) TYPE tt_results
|
RETURNING value(rt_results) TYPE tt_results
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
|
@ -520,8 +517,7 @@ CLASS lcl_serialize DEFINITION FINAL.
|
||||||
CLASS-METHODS compare_files
|
CLASS-METHODS compare_files
|
||||||
IMPORTING it_repo TYPE tt_files
|
IMPORTING it_repo TYPE tt_files
|
||||||
it_sap TYPE tt_files
|
it_sap TYPE tt_files
|
||||||
iv_updated TYPE abap_bool
|
RETURNING value(rv_match) TYPE abap_bool
|
||||||
RETURNING value(rv_action) TYPE string
|
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
ENDCLASS. "lcl_serialize DEFINITION
|
ENDCLASS. "lcl_serialize DEFINITION
|
||||||
|
@ -570,18 +566,14 @@ CLASS lcl_serialize IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD. "serialize
|
ENDMETHOD. "serialize
|
||||||
|
|
||||||
* todo, change name to analyze?
|
METHOD status.
|
||||||
METHOD deserialize.
|
|
||||||
|
|
||||||
* not exist in sap = 'create'
|
|
||||||
* match = 'match'
|
|
||||||
* newer in repo = 'update'
|
|
||||||
* newer in sap = 'commit'
|
|
||||||
|
|
||||||
DATA: lv_pre TYPE rseuap-obj_name,
|
DATA: lv_pre TYPE rseuap-obj_name,
|
||||||
lt_files TYPE tt_files,
|
lt_files TYPE tt_files,
|
||||||
ls_result LIKE LINE OF rt_results,
|
ls_result LIKE LINE OF rt_results,
|
||||||
lv_type TYPE string,
|
lv_type TYPE string,
|
||||||
|
lv_status TYPE string,
|
||||||
|
lv_match TYPE abap_bool,
|
||||||
lv_ext TYPE string.
|
lv_ext TYPE string.
|
||||||
|
|
||||||
FIELD-SYMBOLS: <ls_file> LIKE LINE OF it_files.
|
FIELD-SYMBOLS: <ls_file> LIKE LINE OF it_files.
|
||||||
|
@ -597,24 +589,21 @@ CLASS lcl_serialize IMPLEMENTATION.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
CLEAR ls_result.
|
CLEAR ls_result.
|
||||||
ls_result-type = lv_type.
|
ls_result-obj_type = lv_type.
|
||||||
ls_result-name = lv_pre.
|
ls_result-obj_name = lv_pre.
|
||||||
|
|
||||||
CASE lv_type.
|
CASE lv_type.
|
||||||
WHEN 'PROG'.
|
WHEN 'PROG'.
|
||||||
IF prog_exists( lv_pre ) = abap_true.
|
IF prog_exists( lv_pre ) = abap_true.
|
||||||
lt_files = prog_serialize( lv_pre ).
|
lt_files = prog_serialize( lv_pre ).
|
||||||
ls_result-action = compare_files( it_repo = it_files it_sap = lt_files iv_updated = iv_updated ).
|
ls_result-match = compare_files( it_repo = it_files it_sap = lt_files ).
|
||||||
ELSE.
|
|
||||||
ls_result-action = 'create'.
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
ENDCASE.
|
ENDCASE.
|
||||||
|
|
||||||
APPEND ls_result TO rt_results.
|
APPEND ls_result TO rt_results.
|
||||||
|
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
* how to handle deleted in repo?
|
* todo, how to handle deleted in repo?
|
||||||
|
|
||||||
ENDMETHOD. "deserialize
|
ENDMETHOD. "deserialize
|
||||||
|
|
||||||
|
@ -629,16 +618,12 @@ CLASS lcl_serialize IMPLEMENTATION.
|
||||||
data = <ls_sap>-data
|
data = <ls_sap>-data
|
||||||
TRANSPORTING NO FIELDS.
|
TRANSPORTING NO FIELDS.
|
||||||
IF sy-subrc <> 0.
|
IF sy-subrc <> 0.
|
||||||
IF iv_updated = abap_true.
|
rv_match = abap_false.
|
||||||
rv_action = 'update'.
|
|
||||||
ELSE.
|
|
||||||
rv_action = 'commit'.
|
|
||||||
ENDIF.
|
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
rv_action = 'match'.
|
rv_match = abap_true.
|
||||||
|
|
||||||
ENDMETHOD. "compare_files
|
ENDMETHOD. "compare_files
|
||||||
|
|
||||||
|
@ -1585,11 +1570,25 @@ ENDCLASS. "lcl_pack IMPLEMENTATION
|
||||||
CLASS lcl_persistence DEFINITION FINAL.
|
CLASS lcl_persistence DEFINITION FINAL.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
CLASS-METHODS add IMPORTING is_repo TYPE st_repo_sha1.
|
* CLASS-METHODS add
|
||||||
|
* class-methods delete
|
||||||
|
|
||||||
CLASS-METHODS list RETURNING value(rt_repos) TYPE tt_repos_sha1
|
CLASS-METHODS list RETURNING value(rt_repos) TYPE tt_repos_sha1
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
|
CLASS-METHODS update IMPORTING is_repo TYPE st_repo
|
||||||
|
iv_branch TYPE t_sha1
|
||||||
|
RAISING lcx_exception.
|
||||||
|
|
||||||
|
PRIVATE SECTION.
|
||||||
|
CLASS-METHODS read_text RETURNING value(rt_repos) TYPE tt_repos_sha1
|
||||||
|
RAISING lcx_exception.
|
||||||
|
|
||||||
|
CLASS-METHODS save_text IMPORTING it_repos TYPE tt_repos_sha1
|
||||||
|
RAISING lcx_exception.
|
||||||
|
|
||||||
|
CLASS-METHODS header RETURNING value(rs_header) TYPE thead.
|
||||||
|
|
||||||
ENDCLASS. "lcl_persistence DEFINITION
|
ENDCLASS. "lcl_persistence DEFINITION
|
||||||
|
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
|
@ -1599,26 +1598,108 @@ ENDCLASS. "lcl_persistence DEFINITION
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
CLASS lcl_persistence IMPLEMENTATION.
|
CLASS lcl_persistence IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD add.
|
METHOD header.
|
||||||
* todo
|
rs_header-tdid = 'ST'.
|
||||||
BREAK-POINT.
|
rs_header-tdspras = 'E'.
|
||||||
RETURN.
|
rs_header-tdname = 'ZABAPGIT'.
|
||||||
ENDMETHOD. "add
|
rs_header-tdobject = 'TEXT'.
|
||||||
|
ENDMETHOD. "header
|
||||||
|
|
||||||
|
METHOD save_text.
|
||||||
|
|
||||||
|
DATA: lt_lines TYPE TABLE OF tline,
|
||||||
|
ls_header TYPE thead.
|
||||||
|
|
||||||
|
FIELD-SYMBOLS: <ls_repo> LIKE LINE OF it_repos,
|
||||||
|
<ls_line> LIKE LINE OF lt_lines.
|
||||||
|
|
||||||
|
|
||||||
|
LOOP AT it_repos ASSIGNING <ls_repo>.
|
||||||
|
APPEND INITIAL LINE TO lt_lines ASSIGNING <ls_line>.
|
||||||
|
<ls_line>-tdformat = '*'.
|
||||||
|
<ls_line>-tdline = <ls_repo>-url.
|
||||||
|
APPEND INITIAL LINE TO lt_lines ASSIGNING <ls_line>.
|
||||||
|
<ls_line>-tdformat = '*'.
|
||||||
|
<ls_line>-tdline = <ls_repo>-branch_name.
|
||||||
|
APPEND INITIAL LINE TO lt_lines ASSIGNING <ls_line>.
|
||||||
|
<ls_line>-tdformat = '*'.
|
||||||
|
<ls_line>-tdline = <ls_repo>-sha1.
|
||||||
|
ENDLOOP.
|
||||||
|
|
||||||
|
ls_header = header( ).
|
||||||
|
|
||||||
|
CALL FUNCTION 'SAVE_TEXT'
|
||||||
|
EXPORTING
|
||||||
|
header = ls_header
|
||||||
|
TABLES
|
||||||
|
lines = lt_lines
|
||||||
|
EXCEPTIONS
|
||||||
|
id = 1
|
||||||
|
language = 2
|
||||||
|
name = 3
|
||||||
|
object = 4
|
||||||
|
OTHERS = 5.
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
ROLLBACK WORK.
|
||||||
|
RAISE EXCEPTION TYPE lcx_exception
|
||||||
|
EXPORTING
|
||||||
|
iv_text = 'error from SAVE_TEXT'. "#EC NOTEXT
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
COMMIT WORK.
|
||||||
|
|
||||||
|
ENDMETHOD. "save_text
|
||||||
|
|
||||||
|
METHOD update.
|
||||||
|
|
||||||
|
DATA: lt_repos TYPE tt_repos_sha1.
|
||||||
|
|
||||||
|
FIELD-SYMBOLS: <ls_repo> LIKE LINE OF lt_repos.
|
||||||
|
|
||||||
|
|
||||||
|
IF iv_branch IS INITIAL.
|
||||||
|
RAISE EXCEPTION TYPE lcx_exception
|
||||||
|
EXPORTING
|
||||||
|
iv_text = 'update, sha empty'. "#EC NOTEXT
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
lt_repos = list( ).
|
||||||
|
|
||||||
|
READ TABLE lt_repos ASSIGNING <ls_repo>
|
||||||
|
WITH KEY url = is_repo-url branch_name = is_repo-branch_name.
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
RAISE EXCEPTION TYPE lcx_exception
|
||||||
|
EXPORTING
|
||||||
|
iv_text = 'persist update, repo not found'. "#EC NOTEXT
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
<ls_repo>-sha1 = iv_branch.
|
||||||
|
|
||||||
|
save_text( lt_repos ).
|
||||||
|
|
||||||
|
ENDMETHOD. "update
|
||||||
|
|
||||||
METHOD list.
|
METHOD list.
|
||||||
|
rt_repos = read_text( ).
|
||||||
|
ENDMETHOD. "list
|
||||||
|
|
||||||
DATA: lt_lines TYPE TABLE OF tline,
|
METHOD read_text.
|
||||||
ls_repo TYPE st_repo_sha1.
|
|
||||||
|
DATA: lt_lines TYPE TABLE OF tline,
|
||||||
|
ls_header TYPE thead,
|
||||||
|
ls_repo TYPE st_repo_sha1.
|
||||||
|
|
||||||
FIELD-SYMBOLS: <ls_line> LIKE LINE OF lt_lines.
|
FIELD-SYMBOLS: <ls_line> LIKE LINE OF lt_lines.
|
||||||
|
|
||||||
|
|
||||||
|
ls_header = header( ).
|
||||||
|
|
||||||
CALL FUNCTION 'READ_TEXT'
|
CALL FUNCTION 'READ_TEXT'
|
||||||
EXPORTING
|
EXPORTING
|
||||||
id = 'ST'
|
id = ls_header-tdid
|
||||||
language = 'E'
|
language = ls_header-tdspras
|
||||||
name = 'ZABAPGIT'
|
name = ls_header-tdname
|
||||||
object = 'TEXT'
|
object = ls_header-tdobject
|
||||||
TABLES
|
TABLES
|
||||||
lines = lt_lines
|
lines = lt_lines
|
||||||
EXCEPTIONS
|
EXCEPTIONS
|
||||||
|
@ -2043,6 +2124,11 @@ CLASS lcl_porcelain DEFINITION FINAL.
|
||||||
ev_branch TYPE t_sha1
|
ev_branch TYPE t_sha1
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
|
CLASS-METHODS push IMPORTING is_repo TYPE st_repo
|
||||||
|
it_files TYPE tt_files
|
||||||
|
RETURNING value(rv_branch) TYPE t_sha1
|
||||||
|
RAISING lcx_exception.
|
||||||
|
|
||||||
CLASS-METHODS add IMPORTING is_repo TYPE st_repo
|
CLASS-METHODS add IMPORTING is_repo TYPE st_repo
|
||||||
it_files TYPE tt_files
|
it_files TYPE tt_files
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
@ -2063,6 +2149,12 @@ ENDCLASS. "lcl_porcelain DEFINITION
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
CLASS lcl_porcelain IMPLEMENTATION.
|
CLASS lcl_porcelain IMPLEMENTATION.
|
||||||
|
|
||||||
|
METHOD push.
|
||||||
|
|
||||||
|
* todo
|
||||||
|
|
||||||
|
ENDMETHOD. "push
|
||||||
|
|
||||||
METHOD add.
|
METHOD add.
|
||||||
|
|
||||||
* todo, only supports adding files to root of repository
|
* todo, only supports adding files to root of repository
|
||||||
|
@ -2286,6 +2378,14 @@ CLASS lcl_gui DEFINITION FINAL.
|
||||||
IMPORTING is_repo TYPE st_repo
|
IMPORTING is_repo TYPE st_repo
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
|
CLASS-METHODS: pull
|
||||||
|
IMPORTING is_repo TYPE st_repo
|
||||||
|
RAISING lcx_exception.
|
||||||
|
|
||||||
|
CLASS-METHODS: commit
|
||||||
|
IMPORTING is_repo TYPE st_repo
|
||||||
|
RAISING lcx_exception.
|
||||||
|
|
||||||
CLASS-METHODS: struct_encode
|
CLASS-METHODS: struct_encode
|
||||||
IMPORTING ig_structure TYPE any
|
IMPORTING ig_structure TYPE any
|
||||||
RETURNING value(rv_string) TYPE string.
|
RETURNING value(rv_string) TYPE string.
|
||||||
|
@ -2304,6 +2404,60 @@ ENDCLASS. "lcl_gui DEFINITION
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
CLASS lcl_gui IMPLEMENTATION.
|
CLASS lcl_gui IMPLEMENTATION.
|
||||||
|
|
||||||
|
METHOD pull.
|
||||||
|
|
||||||
|
DATA: lt_files TYPE tt_files,
|
||||||
|
lt_objects TYPE tt_objects,
|
||||||
|
lv_branch TYPE t_sha1.
|
||||||
|
|
||||||
|
|
||||||
|
lcl_porcelain=>pull( EXPORTING is_repo = is_repo
|
||||||
|
IMPORTING et_files = lt_files
|
||||||
|
ev_branch = lv_branch ).
|
||||||
|
|
||||||
|
* todo
|
||||||
|
*lcl_serialize=>deserialize( ).
|
||||||
|
|
||||||
|
lcl_persistence=>update( is_repo = is_repo
|
||||||
|
iv_branch = lv_branch ).
|
||||||
|
|
||||||
|
view( render( ) ).
|
||||||
|
|
||||||
|
ENDMETHOD. "pull
|
||||||
|
|
||||||
|
METHOD commit.
|
||||||
|
|
||||||
|
DATA: lv_branch TYPE t_sha1,
|
||||||
|
lt_results TYPE tt_results,
|
||||||
|
lt_push TYPE tt_files,
|
||||||
|
lt_files TYPE tt_files.
|
||||||
|
|
||||||
|
FIELD-SYMBOLS: <ls_result> LIKE LINE OF lt_results.
|
||||||
|
|
||||||
|
|
||||||
|
lcl_porcelain=>pull( EXPORTING is_repo = is_repo
|
||||||
|
IMPORTING et_files = lt_files
|
||||||
|
ev_branch = lv_branch ).
|
||||||
|
|
||||||
|
lt_results = lcl_serialize=>status( lt_files ).
|
||||||
|
|
||||||
|
CLEAR lt_files[].
|
||||||
|
LOOP AT lt_results ASSIGNING <ls_result> WHERE match = abap_false.
|
||||||
|
lt_files = lcl_serialize=>serialize( iv_obj_type = <ls_result>-obj_type
|
||||||
|
iv_obj_name = <ls_result>-obj_name ).
|
||||||
|
APPEND LINES OF lt_files TO lt_push.
|
||||||
|
ENDLOOP.
|
||||||
|
|
||||||
|
* todo
|
||||||
|
* porcelain=>push
|
||||||
|
|
||||||
|
lcl_persistence=>update( is_repo = is_repo
|
||||||
|
iv_branch = lv_branch ).
|
||||||
|
|
||||||
|
view( render( ) ).
|
||||||
|
|
||||||
|
ENDMETHOD. "commit
|
||||||
|
|
||||||
METHOD struct_decode.
|
METHOD struct_decode.
|
||||||
|
|
||||||
DATA: lt_fields TYPE tihttpnvp,
|
DATA: lt_fields TYPE tihttpnvp,
|
||||||
|
@ -2368,13 +2522,21 @@ CLASS lcl_gui IMPLEMENTATION.
|
||||||
go_html_viewer->show_url( 'http://larshp.github.io/abapGit/explore.html' ).
|
go_html_viewer->show_url( 'http://larshp.github.io/abapGit/explore.html' ).
|
||||||
WHEN 'abapgithome'.
|
WHEN 'abapgithome'.
|
||||||
cl_gui_frontend_services=>execute(
|
cl_gui_frontend_services=>execute(
|
||||||
document = 'https://github.com/larshp/abapGit' ).
|
document = 'https://github.com/larshp/abapGit' ).
|
||||||
WHEN 'add'.
|
WHEN 'add'.
|
||||||
struct_decode( EXPORTING iv_string = getdata
|
struct_decode( EXPORTING iv_string = getdata
|
||||||
CHANGING cg_structure = ls_repo ).
|
CHANGING cg_structure = ls_repo ).
|
||||||
add( ls_repo ).
|
add( ls_repo ).
|
||||||
WHEN 'refresh'.
|
WHEN 'refresh'.
|
||||||
view( render( ) ).
|
view( render( ) ).
|
||||||
|
WHEN 'commit'.
|
||||||
|
struct_decode( EXPORTING iv_string = getdata
|
||||||
|
CHANGING cg_structure = ls_repo ).
|
||||||
|
commit( ls_repo ).
|
||||||
|
WHEN 'pull'.
|
||||||
|
struct_decode( EXPORTING iv_string = getdata
|
||||||
|
CHANGING cg_structure = ls_repo ).
|
||||||
|
pull( ls_repo ).
|
||||||
WHEN OTHERS.
|
WHEN OTHERS.
|
||||||
RAISE EXCEPTION TYPE lcx_exception
|
RAISE EXCEPTION TYPE lcx_exception
|
||||||
EXPORTING
|
EXPORTING
|
||||||
|
@ -2408,6 +2570,8 @@ CLASS lcl_gui IMPLEMENTATION.
|
||||||
lcl_porcelain=>add( is_repo = is_repo
|
lcl_porcelain=>add( is_repo = is_repo
|
||||||
it_files = lt_files ).
|
it_files = lt_files ).
|
||||||
|
|
||||||
|
view( render( ) ).
|
||||||
|
|
||||||
ENDMETHOD. "add
|
ENDMETHOD. "add
|
||||||
|
|
||||||
METHOD install.
|
METHOD install.
|
||||||
|
@ -2495,6 +2659,7 @@ CLASS lcl_gui IMPLEMENTATION.
|
||||||
DATA: lt_files TYPE tt_files,
|
DATA: lt_files TYPE tt_files,
|
||||||
ls_repo TYPE st_repo,
|
ls_repo TYPE st_repo,
|
||||||
lv_branch TYPE t_sha1,
|
lv_branch TYPE t_sha1,
|
||||||
|
lv_status TYPE string,
|
||||||
lv_updated TYPE abap_bool,
|
lv_updated TYPE abap_bool,
|
||||||
lt_results TYPE tt_results.
|
lt_results TYPE tt_results.
|
||||||
|
|
||||||
|
@ -2525,27 +2690,41 @@ CLASS lcl_gui IMPLEMENTATION.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
rv_html = rv_html && '</table>' && gc_newline.
|
rv_html = rv_html && '</table>' && gc_newline.
|
||||||
|
|
||||||
rv_html = rv_html && '<a href="sapevent:add?' && struct_encode( is_repo ) && '">add</a>'.
|
|
||||||
rv_html = rv_html && '<br>'.
|
rv_html = rv_html && '<br>'.
|
||||||
|
|
||||||
|
lt_results = lcl_serialize=>status( lt_files ).
|
||||||
IF lv_branch <> is_repo-sha1.
|
IF lv_branch <> is_repo-sha1.
|
||||||
lv_updated = abap_true.
|
lv_status = 'pull'.
|
||||||
ELSE.
|
ELSE.
|
||||||
lv_updated = abap_false.
|
READ TABLE lt_results WITH KEY match = abap_false TRANSPORTING NO FIELDS.
|
||||||
|
IF sy-subrc = 0.
|
||||||
|
lv_status = 'commit'.
|
||||||
|
ELSE.
|
||||||
|
lv_status = 'match'.
|
||||||
|
ENDIF.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
lt_results = lcl_serialize=>deserialize( it_files = lt_files
|
|
||||||
iv_updated = lv_updated ).
|
|
||||||
LOOP AT lt_results ASSIGNING <ls_result>.
|
LOOP AT lt_results ASSIGNING <ls_result>.
|
||||||
rv_html = rv_html &&
|
rv_html = rv_html &&
|
||||||
<ls_result>-type &&
|
<ls_result>-obj_type &&
|
||||||
' ' &&
|
|
||||||
<ls_result>-name &&
|
|
||||||
' ' &&
|
|
||||||
<ls_result>-action &&
|
|
||||||
' ' &&
|
' ' &&
|
||||||
|
<ls_result>-obj_name &&
|
||||||
'<br>'.
|
'<br>'.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
|
CASE lv_status.
|
||||||
|
WHEN 'match'.
|
||||||
|
rv_html = rv_html && '<a href="sapevent:add?' && struct_encode( ls_repo ) && '">add</a>'.
|
||||||
|
WHEN 'commit'.
|
||||||
|
rv_html = rv_html && '<a href="sapevent:commit?' && struct_encode( ls_repo ) && '">commit</a>'.
|
||||||
|
WHEN 'pull'.
|
||||||
|
rv_html = rv_html && '<a href="sapevent:pull?' && struct_encode( ls_repo ) && '">pull</a>'.
|
||||||
|
WHEN OTHERS.
|
||||||
|
RAISE EXCEPTION TYPE lcx_exception
|
||||||
|
EXPORTING
|
||||||
|
iv_text = 'status unknown'. "#EC NOTEXT
|
||||||
|
ENDCASE.
|
||||||
|
|
||||||
ENDMETHOD. "render_repo
|
ENDMETHOD. "render_repo
|
||||||
|
|
||||||
METHOD run.
|
METHOD run.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user