mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +08:00
Code reviews
This commit is contained in:
parent
83ba65d0a2
commit
c083ba347f
|
@ -204,7 +204,7 @@ CONSTANTS: BEGIN OF gc_action,
|
|||
repo_remote_change TYPE string VALUE 'repo_remote_change',
|
||||
repo_refresh_checksums TYPE string VALUE 'repo_refresh_checksums',
|
||||
repo_toggle_fav TYPE string VALUE 'repo_toggle_fav',
|
||||
repo_transport_to_branch TYPE string VALUE 'go_transport_to_branch',
|
||||
repo_transport_to_branch TYPE string VALUE 'repo_transport_to_branch',
|
||||
|
||||
abapgit_home TYPE string VALUE 'abapgit_home',
|
||||
abapgit_wiki TYPE string VALUE 'abapgit_wiki',
|
||||
|
|
|
@ -137,14 +137,6 @@ FORM package_popup TABLES tt_fields TYPE ty_sval_tt
|
|||
ENDIF.
|
||||
ENDFORM. "package_popup
|
||||
|
||||
FORM branch_to_transport_popup TABLES tt_fields TYPE ty_sval_tt
|
||||
USING pv_code TYPE clike
|
||||
CHANGING cs_error TYPE svale
|
||||
cv_show_popup TYPE c
|
||||
RAISING lcx_exception ##called ##needed.
|
||||
* called dynamically from function module POPUP_GET_VALUES_USER_BUTTONS
|
||||
ENDFORM.
|
||||
|
||||
FORM output.
|
||||
DATA: lt_ucomm TYPE TABLE OF sy-ucomm.
|
||||
PERFORM set_pf_status IN PROGRAM rsdbrunt IF FOUND.
|
||||
|
|
|
@ -67,10 +67,7 @@ CLASS lcl_gui_router IMPLEMENTATION.
|
|||
DATA: lv_url TYPE string,
|
||||
lv_key TYPE lcl_persistence_repo=>ty_repo-key,
|
||||
ls_db TYPE lcl_persistence_db=>ty_content,
|
||||
ls_item TYPE ty_item,
|
||||
lt_transport_headers TYPE trwbo_request_headers,
|
||||
lt_tadir TYPE scts_tadir,
|
||||
ls_transport_to_branch TYPE ty_transport_to_branch.
|
||||
ls_item TYPE ty_item.
|
||||
|
||||
lv_key = iv_getdata. " TODO refactor
|
||||
lv_url = iv_getdata. " TODO refactor
|
||||
|
@ -175,21 +172,9 @@ CLASS lcl_gui_router IMPLEMENTATION.
|
|||
lcl_services_repo=>toggle_favorite( lv_key ).
|
||||
ev_state = gc_event_state-re_render.
|
||||
WHEN gc_action-repo_transport_to_branch.
|
||||
lcl_services_repo=>transport_to_branch( iv_repository_key = lv_key ).
|
||||
ev_state = gc_event_state-re_render.
|
||||
|
||||
lt_transport_headers = lcl_transport_popup=>show( ).
|
||||
lt_tadir = lcl_transport=>to_tadir( lt_transport_headers ).
|
||||
IF lt_tadir IS INITIAL.
|
||||
lcx_exception=>raise( 'Canceled or List of objects is empty ' ).
|
||||
ENDIF.
|
||||
ls_transport_to_branch = lcl_popups=>popup_to_create_transp_branch(
|
||||
it_transport_headers = lt_transport_headers
|
||||
it_transport_objects = lt_tadir ).
|
||||
lcl_services_repo=>transport_to_branch(
|
||||
iv_repository_key = lv_key
|
||||
is_transport_to_branch = ls_transport_to_branch
|
||||
it_transport_objects = lt_tadir ).
|
||||
|
||||
" ZIP services actions
|
||||
WHEN gc_action-zip_import. " Import repo from ZIP
|
||||
lcl_zip=>import( lv_key ).
|
||||
|
|
|
@ -74,7 +74,12 @@ CLASS lcl_popups DEFINITION FINAL.
|
|||
it_transport_objects TYPE scts_tadir
|
||||
RETURNING VALUE(rs_transport_branch) TYPE ty_transport_to_branch
|
||||
RAISING lcx_exception
|
||||
lcx_cancel.
|
||||
lcx_cancel,
|
||||
popup_to_select_transports
|
||||
RETURNING VALUE(rt_trkorr) TYPE trwbo_request_headers.
|
||||
PRIVATE SECTION.
|
||||
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
CLASS lcl_popups IMPLEMENTATION.
|
||||
|
@ -550,6 +555,40 @@ CLASS lcl_popups IMPLEMENTATION.
|
|||
ENDIF.
|
||||
ENDMETHOD. " popup_to_create_package
|
||||
|
||||
METHOD popup_to_select_transports.
|
||||
DATA: lrs_trfunction TYPE trsel_trs_function,
|
||||
lv_types TYPE string,
|
||||
ls_ranges TYPE trsel_ts_ranges.
|
||||
|
||||
" Fill all request types
|
||||
lv_types = 'KWTCOEMPDRSXQFG'.
|
||||
lrs_trfunction-sign = 'I'.
|
||||
lrs_trfunction-option = 'EQ'.
|
||||
WHILE lv_types NE space.
|
||||
lrs_trfunction-low = lv_types(1).
|
||||
APPEND lrs_trfunction TO ls_ranges-request_funcs.
|
||||
SHIFT lv_types.
|
||||
ENDWHILE.
|
||||
|
||||
CALL FUNCTION 'TRINT_SELECT_REQUESTS'
|
||||
EXPORTING
|
||||
iv_username_pattern = sy-uname
|
||||
iv_via_selscreen = 'X'
|
||||
iv_complete_projects = ''
|
||||
"is_popup = ''
|
||||
iv_title = 'abapGit: Transport Request Selection'
|
||||
IMPORTING
|
||||
et_requests = rt_trkorr
|
||||
CHANGING
|
||||
cs_ranges = ls_ranges
|
||||
EXCEPTIONS
|
||||
action_aborted_by_user = 1
|
||||
OTHERS = 2.
|
||||
IF sy-subrc <> 0.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD popup_to_create_transp_branch.
|
||||
DATA: lv_returncode TYPE c,
|
||||
lt_fields TYPE TABLE OF sval,
|
||||
|
@ -574,24 +613,19 @@ CLASS lcl_popups IMPLEMENTATION.
|
|||
lv_button_transport = 'Transport(s)->Branch' ##NO_TEXT.
|
||||
lv_icon_transport = icon_import_all_requests.
|
||||
|
||||
CALL FUNCTION 'POPUP_GET_VALUES_USER_BUTTONS'
|
||||
CALL FUNCTION 'POPUP_GET_VALUES'
|
||||
EXPORTING
|
||||
popup_title = 'Transport to new Branch'
|
||||
programname = sy-repid
|
||||
formname = 'BRANCH_TO_TRANSPORT_POPUP'
|
||||
ok_pushbuttontext = ''
|
||||
icon_ok_push = ''
|
||||
first_pushbutton = lv_button_transport
|
||||
icon_button_1 = lv_icon_transport
|
||||
second_pushbutton = ''
|
||||
icon_button_2 = ''
|
||||
* no_value_check = SPACE " Deactivates data type check
|
||||
popup_title = 'Transport to new Branch'
|
||||
* start_column = '5' " Start column of the dialog box
|
||||
* start_row = '5' " Start line of the dialog box
|
||||
IMPORTING
|
||||
returncode = lv_returncode
|
||||
returncode = lv_returncode
|
||||
TABLES
|
||||
fields = lt_fields
|
||||
fields = lt_fields " Table fields, values and attributes
|
||||
EXCEPTIONS
|
||||
error_in_fields = 1
|
||||
OTHERS = 2.
|
||||
error_in_fields = 1
|
||||
OTHERS = 2.
|
||||
IF sy-subrc <> 0.
|
||||
lcx_exception=>raise( 'Error from POPUP_GET_VALUES' ).
|
||||
ENDIF.
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
*&---------------------------------------------------------------------*
|
||||
|
||||
INCLUDE zabapgit_services_git.
|
||||
INCLUDE zabapgit_services_trans_branch.
|
||||
INCLUDE zabapgit_services_repo.
|
||||
INCLUDE zabapgit_services_abapgit.
|
||||
INCLUDE zabapgit_services_db.
|
||||
|
|
|
@ -48,10 +48,8 @@ CLASS lcl_services_repo DEFINITION FINAL.
|
|||
RAISING lcx_exception.
|
||||
|
||||
CLASS-METHODS transport_to_branch
|
||||
IMPORTING iv_repository_key TYPE lcl_persistence_db=>ty_value
|
||||
is_transport_to_branch TYPE ty_transport_to_branch
|
||||
it_transport_objects TYPE scts_tadir
|
||||
RAISING lcx_exception.
|
||||
IMPORTING iv_repository_key TYPE lcl_persistence_db=>ty_value
|
||||
RAISING lcx_exception lcx_cancel.
|
||||
|
||||
ENDCLASS. "lcl_services_repo
|
||||
|
||||
|
@ -324,14 +322,27 @@ CLASS lcl_services_repo IMPLEMENTATION.
|
|||
METHOD transport_to_branch.
|
||||
DATA:
|
||||
lo_repository TYPE REF TO lcl_repo_online,
|
||||
lo_transport_to_branch TYPE REF TO lcl_transport_to_branch.
|
||||
lo_transport_to_branch TYPE REF TO lcl_transport_to_branch,
|
||||
lt_transport_headers TYPE trwbo_request_headers,
|
||||
lt_transport_objects TYPE scts_tadir,
|
||||
ls_transport_to_branch TYPE ty_transport_to_branch.
|
||||
|
||||
lo_repository ?= lcl_app=>repo_srv( )->get( iv_repository_key ).
|
||||
|
||||
lt_transport_headers = lcl_popups=>popup_to_select_transports( ).
|
||||
lt_transport_objects = lcl_transport=>to_tadir( lt_transport_headers ).
|
||||
IF lt_transport_objects IS INITIAL.
|
||||
lcx_exception=>raise( 'Canceled or List of objects is empty ' ).
|
||||
ENDIF.
|
||||
ls_transport_to_branch = lcl_popups=>popup_to_create_transp_branch(
|
||||
it_transport_headers = lt_transport_headers
|
||||
it_transport_objects = lt_transport_objects ).
|
||||
|
||||
CREATE OBJECT lo_transport_to_branch.
|
||||
lo_transport_to_branch->create(
|
||||
io_repository = lo_repository
|
||||
is_transport_to_branch = is_transport_to_branch
|
||||
it_transport_objects = it_transport_objects ).
|
||||
is_transport_to_branch = ls_transport_to_branch
|
||||
it_transport_objects = lt_transport_objects ).
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS. "lcl_services_repo
|
||||
|
|
|
@ -1,125 +0,0 @@
|
|||
*&---------------------------------------------------------------------*
|
||||
*& Include zabapgit_services_trans_branch
|
||||
*&---------------------------------------------------------------------*
|
||||
CLASS lcl_transport_to_branch DEFINITION.
|
||||
PUBLIC SECTION.
|
||||
METHODS:
|
||||
create
|
||||
IMPORTING io_repository TYPE REF TO lcl_repo_online
|
||||
is_transport_to_branch TYPE ty_transport_to_branch
|
||||
it_transport_objects TYPE scts_tadir
|
||||
RAISING lcx_exception.
|
||||
PRIVATE SECTION.
|
||||
|
||||
METHODS create_new_branch
|
||||
IMPORTING
|
||||
io_repository TYPE REF TO lcl_repo_online
|
||||
iv_branch_name TYPE string
|
||||
RAISING
|
||||
lcx_exception.
|
||||
METHODS add_new_and_changes_to_stage
|
||||
IMPORTING
|
||||
it_transport_objects TYPE scts_tadir
|
||||
io_stage TYPE REF TO lcl_stage
|
||||
is_stage_objects TYPE ty_stage_files
|
||||
RAISING
|
||||
lcx_exception.
|
||||
METHODS generate_commit_message
|
||||
IMPORTING
|
||||
is_transport_to_branch TYPE ty_transport_to_branch
|
||||
RETURNING
|
||||
VALUE(rs_comment) TYPE ty_comment.
|
||||
ENDCLASS.
|
||||
|
||||
CLASS lcl_transport_to_branch IMPLEMENTATION.
|
||||
|
||||
METHOD create.
|
||||
DATA:
|
||||
ls_transport_object TYPE LINE OF scts_tadir,
|
||||
lt_items TYPE ty_files_item_tt,
|
||||
ls_local_file TYPE LINE OF ty_files_item_tt,
|
||||
ls_remote_file TYPE LINE OF ty_files_tt,
|
||||
ls_item TYPE string,
|
||||
lv_branch_name TYPE string,
|
||||
ls_comment TYPE ty_comment,
|
||||
lo_stage TYPE REF TO lcl_stage,
|
||||
ls_stage_objects TYPE ty_stage_files,
|
||||
ls_branch_to_delete TYPE lcl_git_branch_list=>ty_git_branch.
|
||||
|
||||
lv_branch_name = lcl_git_branch_list=>complete_heads_branch_name(
|
||||
lcl_git_branch_list=>normalize_branch_name( is_transport_to_branch-branch_name ) ).
|
||||
|
||||
create_new_branch(
|
||||
io_repository = io_repository
|
||||
iv_branch_name = lv_branch_name ).
|
||||
|
||||
CREATE OBJECT lo_stage
|
||||
EXPORTING
|
||||
iv_branch_name = lv_branch_name
|
||||
iv_branch_sha1 = io_repository->get_sha1_remote( ).
|
||||
|
||||
ls_stage_objects = lcl_stage_logic=>get( io_repository ).
|
||||
|
||||
add_new_and_changes_to_stage(
|
||||
it_transport_objects = it_transport_objects
|
||||
io_stage = lo_stage
|
||||
is_stage_objects = ls_stage_objects ).
|
||||
|
||||
"Stage remote files as removal, for they could be deleted
|
||||
LOOP AT ls_stage_objects-remote INTO ls_remote_file.
|
||||
lo_stage->rm(
|
||||
iv_path = ls_remote_file-path
|
||||
iv_filename = ls_remote_file-filename ).
|
||||
ENDLOOP.
|
||||
|
||||
ls_comment = generate_commit_message( is_transport_to_branch ).
|
||||
|
||||
io_repository->push( is_comment = ls_comment
|
||||
io_stage = lo_stage ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD create_new_branch.
|
||||
ASSERT iv_branch_name CP 'refs/heads/+*'.
|
||||
TRY.
|
||||
lcl_git_porcelain=>create_branch(
|
||||
io_repo = io_repository
|
||||
iv_name = iv_branch_name
|
||||
iv_from = io_repository->get_sha1_local( ) ).
|
||||
|
||||
io_repository->set_branch_name( iv_branch_name ).
|
||||
CATCH lcx_exception.
|
||||
lcx_exception=>raise( 'Error when creating new branch').
|
||||
ENDTRY.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD add_new_and_changes_to_stage.
|
||||
DATA ls_transport_object TYPE tadir.
|
||||
DATA ls_local_file TYPE ty_file_item.
|
||||
|
||||
LOOP AT it_transport_objects INTO ls_transport_object.
|
||||
IF ls_transport_object-delflag = abap_false.
|
||||
LOOP AT is_stage_objects-local
|
||||
INTO ls_local_file
|
||||
WHERE item-obj_name = ls_transport_object-obj_name.
|
||||
"Looping is needed to also add XMLs, other includes (e.g. local class implementation)
|
||||
io_stage->add(
|
||||
iv_path = ls_local_file-file-path
|
||||
iv_filename = ls_local_file-file-filename
|
||||
iv_data = ls_local_file-file-data ).
|
||||
ENDLOOP.
|
||||
IF sy-subrc = 4.
|
||||
lcx_exception=>raise( |Object { ls_transport_object-obj_name } not found in the local repository files | ).
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD generate_commit_message.
|
||||
rs_comment-committer-name = sy-uname.
|
||||
rs_comment-committer-email = |{ rs_comment-committer-name }@localhost|.
|
||||
rs_comment-comment = is_transport_to_branch-commit_text.
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
|
@ -1,25 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_PROG" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<PROGDIR>
|
||||
<NAME>ZABAPGIT_SERVICES_TRANS_BRANCH</NAME>
|
||||
<STATE>A</STATE>
|
||||
<VARCL>X</VARCL>
|
||||
<DBAPL>S</DBAPL>
|
||||
<DBNA>D$</DBNA>
|
||||
<SUBC>I</SUBC>
|
||||
<FIXPT>X</FIXPT>
|
||||
<LDBNAME>D$S</LDBNAME>
|
||||
<UCCHECK>X</UCCHECK>
|
||||
</PROGDIR>
|
||||
<TPOOL>
|
||||
<item>
|
||||
<ID>R</ID>
|
||||
<ENTRY>Include ZABAPGIT_SERVICSE_TRANS_BRANCH</ENTRY>
|
||||
<LENGTH>38</LENGTH>
|
||||
</item>
|
||||
</TPOOL>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -1,13 +1,6 @@
|
|||
*&---------------------------------------------------------------------*
|
||||
*& Include ZABAPGIT_TRANSPORT
|
||||
*&---------------------------------------------------------------------*
|
||||
CLASS lcl_transport_popup DEFINITION.
|
||||
PUBLIC SECTION.
|
||||
CLASS-METHODS:
|
||||
show
|
||||
RETURNING VALUE(rt_trkorr) TYPE trwbo_request_headers.
|
||||
ENDCLASS.
|
||||
|
||||
CLASS lcl_transport DEFINITION FINAL.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
@ -45,7 +38,7 @@ CLASS lcl_transport IMPLEMENTATION.
|
|||
lt_trkorr TYPE trwbo_request_headers.
|
||||
|
||||
|
||||
lt_trkorr = lcl_transport_popup=>show( ).
|
||||
lt_trkorr = lcl_popups=>popup_to_select_transports( ).
|
||||
IF lines( lt_trkorr ) = 0.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
@ -190,40 +183,140 @@ CLASS lcl_transport IMPLEMENTATION.
|
|||
DELETE ADJACENT DUPLICATES FROM rt_tadir COMPARING object obj_name.
|
||||
DELETE rt_tadir WHERE table_line IS INITIAL.
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
CLASS lcl_transport_popup IMPLEMENTATION.
|
||||
METHOD show.
|
||||
DATA: lrs_trfunction TYPE trsel_trs_function,
|
||||
lv_types TYPE string,
|
||||
ls_ranges TYPE trsel_ts_ranges.
|
||||
|
||||
" Fill all request types
|
||||
lv_types = 'KWTCOEMPDRSXQFG'.
|
||||
lrs_trfunction-sign = 'I'.
|
||||
lrs_trfunction-option = 'EQ'.
|
||||
WHILE lv_types NE space.
|
||||
lrs_trfunction-low = lv_types(1).
|
||||
APPEND lrs_trfunction TO ls_ranges-request_funcs.
|
||||
SHIFT lv_types.
|
||||
ENDWHILE.
|
||||
CLASS lcl_transport_to_branch DEFINITION.
|
||||
PUBLIC SECTION.
|
||||
METHODS:
|
||||
create
|
||||
IMPORTING io_repository TYPE REF TO lcl_repo_online
|
||||
is_transport_to_branch TYPE ty_transport_to_branch
|
||||
it_transport_objects TYPE scts_tadir
|
||||
RAISING lcx_exception.
|
||||
PRIVATE SECTION.
|
||||
|
||||
CALL FUNCTION 'TRINT_SELECT_REQUESTS'
|
||||
EXPORTING
|
||||
iv_username_pattern = sy-uname
|
||||
iv_via_selscreen = 'X'
|
||||
iv_complete_projects = ''
|
||||
"is_popup = ''
|
||||
iv_title = 'abapGit: Transport Request Selection'
|
||||
METHODS create_new_branch
|
||||
IMPORTING
|
||||
et_requests = rt_trkorr
|
||||
CHANGING
|
||||
cs_ranges = ls_ranges
|
||||
EXCEPTIONS
|
||||
action_aborted_by_user = 1
|
||||
OTHERS = 2.
|
||||
IF sy-subrc <> 0.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
io_repository TYPE REF TO lcl_repo_online
|
||||
iv_branch_name TYPE string
|
||||
RAISING
|
||||
lcx_exception.
|
||||
METHODS generate_commit_message
|
||||
IMPORTING
|
||||
is_transport_to_branch TYPE ty_transport_to_branch
|
||||
RETURNING
|
||||
VALUE(rs_comment) TYPE ty_comment.
|
||||
METHODS stage_transport_objects
|
||||
IMPORTING
|
||||
it_transport_objects TYPE scts_tadir
|
||||
io_stage TYPE REF TO lcl_stage
|
||||
is_stage_objects TYPE ty_stage_files
|
||||
it_object_statuses TYPE ty_results_tt
|
||||
RAISING
|
||||
lcx_exception.
|
||||
ENDCLASS.
|
||||
|
||||
CLASS lcl_transport_to_branch IMPLEMENTATION.
|
||||
|
||||
METHOD create.
|
||||
DATA:
|
||||
ls_transport_object TYPE LINE OF scts_tadir,
|
||||
lt_items TYPE ty_files_item_tt,
|
||||
ls_local_file TYPE LINE OF ty_files_item_tt,
|
||||
ls_remote_file TYPE LINE OF ty_files_tt,
|
||||
ls_item TYPE string,
|
||||
lv_branch_name TYPE string,
|
||||
ls_comment TYPE ty_comment,
|
||||
lo_stage TYPE REF TO lcl_stage,
|
||||
ls_stage_objects TYPE ty_stage_files,
|
||||
lt_object_statuses TYPE ty_results_tt,
|
||||
ls_object_status TYPE LINE OF ty_results_tt.
|
||||
|
||||
lv_branch_name = lcl_git_branch_list=>complete_heads_branch_name(
|
||||
lcl_git_branch_list=>normalize_branch_name( is_transport_to_branch-branch_name ) ).
|
||||
|
||||
create_new_branch(
|
||||
io_repository = io_repository
|
||||
iv_branch_name = lv_branch_name ).
|
||||
|
||||
CREATE OBJECT lo_stage
|
||||
EXPORTING
|
||||
iv_branch_name = lv_branch_name
|
||||
iv_branch_sha1 = io_repository->get_sha1_remote( ).
|
||||
|
||||
ls_stage_objects = lcl_stage_logic=>get( io_repository ).
|
||||
|
||||
lt_object_statuses = io_repository->status( ).
|
||||
|
||||
stage_transport_objects(
|
||||
it_transport_objects = it_transport_objects
|
||||
io_stage = lo_stage
|
||||
is_stage_objects = ls_stage_objects
|
||||
it_object_statuses = lt_object_statuses ).
|
||||
|
||||
ls_comment = generate_commit_message( is_transport_to_branch ).
|
||||
|
||||
io_repository->push( is_comment = ls_comment
|
||||
io_stage = lo_stage ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD create_new_branch.
|
||||
ASSERT iv_branch_name CP 'refs/heads/+*'.
|
||||
TRY.
|
||||
lcl_git_porcelain=>create_branch(
|
||||
io_repo = io_repository
|
||||
iv_name = iv_branch_name
|
||||
iv_from = io_repository->get_sha1_local( ) ).
|
||||
|
||||
io_repository->set_branch_name( iv_branch_name ).
|
||||
CATCH lcx_exception.
|
||||
lcx_exception=>raise( 'Error when creating new branch').
|
||||
ENDTRY.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD generate_commit_message.
|
||||
rs_comment-committer-name = sy-uname.
|
||||
rs_comment-committer-email = |{ rs_comment-committer-name }@localhost|.
|
||||
rs_comment-comment = is_transport_to_branch-commit_text.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD stage_transport_objects.
|
||||
|
||||
DATA ls_transport_object TYPE tadir.
|
||||
DATA ls_local_file TYPE ty_file_item.
|
||||
DATA ls_object_status TYPE ty_result.
|
||||
|
||||
LOOP AT it_transport_objects INTO ls_transport_object.
|
||||
READ TABLE it_object_statuses INTO ls_object_status
|
||||
WITH KEY obj_name = ls_transport_object-obj_name
|
||||
obj_type = ls_transport_object-object.
|
||||
IF sy-subrc <> 0.
|
||||
lcx_exception=>raise( |Object { ls_transport_object-obj_name } not found in the local repository files | ).
|
||||
ENDIF.
|
||||
|
||||
CASE ls_object_status-lstate.
|
||||
WHEN gc_state-added OR gc_state-modified.
|
||||
ASSERT ls_transport_object-delflag = abap_false.
|
||||
|
||||
READ TABLE is_stage_objects-local
|
||||
INTO ls_local_file
|
||||
WITH KEY item-obj_name = ls_transport_object-obj_name
|
||||
item-obj_type = ls_transport_object-object.
|
||||
IF sy-subrc <> 0.
|
||||
lcx_exception=>raise( |Object { ls_transport_object-obj_name } not found in the local repository files | ).
|
||||
ENDIF.
|
||||
|
||||
io_stage->add(
|
||||
iv_path = ls_local_file-file-path
|
||||
iv_filename = ls_local_file-file-filename
|
||||
iv_data = ls_local_file-file-data ).
|
||||
WHEN gc_state-deleted.
|
||||
ASSERT ls_transport_object-delflag = abap_true.
|
||||
io_stage->rm(
|
||||
iv_path = ls_object_status-path
|
||||
iv_filename = ls_object_status-filename ).
|
||||
ENDCASE.
|
||||
ENDLOOP.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
Loading…
Reference in New Issue
Block a user