mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
#514 remove/ignore files command
This commit is contained in:
parent
808ee203ca
commit
05e6086ea4
|
@ -227,6 +227,8 @@ CONSTANTS: BEGIN OF gc_action,
|
|||
go_debuginfo TYPE string VALUE 'go_debuginfo',
|
||||
go_settings TYPE string VALUE 'go_settings',
|
||||
go_tutorial TYPE string VALUE 'go_tutorial',
|
||||
go_manage_files TYPE string VALUE 'go_manage_files',
|
||||
|
||||
jump TYPE string VALUE 'jump',
|
||||
jump_pkg TYPE string VALUE 'jump_pkg',
|
||||
END OF gc_action.
|
|
@ -35,8 +35,9 @@ CLASS lcl_gui_router DEFINITION FINAL.
|
|||
RAISING lcx_exception.
|
||||
|
||||
METHODS get_page_stage
|
||||
IMPORTING iv_key TYPE lcl_persistence_repo=>ty_repo-key
|
||||
RETURNING VALUE(ri_page) TYPE REF TO lif_gui_page
|
||||
IMPORTING iv_key TYPE lcl_persistence_repo=>ty_repo-key
|
||||
iv_manage_files TYPE abap_bool DEFAULT abap_false
|
||||
RETURNING VALUE(ri_page) TYPE REF TO lif_gui_page
|
||||
RAISING lcx_exception.
|
||||
|
||||
METHODS get_page_db_by_name
|
||||
|
@ -90,6 +91,9 @@ CLASS lcl_gui_router IMPLEMENTATION.
|
|||
WHEN gc_action-go_stage. " Go Staging page
|
||||
ei_page = get_page_stage( lv_key ).
|
||||
ev_state = gc_event_state-new_page_w_bookmark.
|
||||
WHEN gc_action-go_manage_files. " Go files management
|
||||
ei_page = get_page_stage( iv_key = lv_key iv_manage_files = abap_true ).
|
||||
ev_state = gc_event_state-new_page_w_bookmark.
|
||||
WHEN gc_action-go_branch_overview. " Go repo branch overview
|
||||
ei_page = get_page_branch_overview( iv_getdata ).
|
||||
ev_state = gc_event_state-new_page.
|
||||
|
@ -310,7 +314,8 @@ CLASS lcl_gui_router IMPLEMENTATION.
|
|||
|
||||
CREATE OBJECT lo_stage_page
|
||||
EXPORTING
|
||||
io_repo = lo_repo.
|
||||
io_repo = lo_repo
|
||||
iv_manage_files = iv_manage_files.
|
||||
|
||||
ri_page = lo_stage_page.
|
||||
|
||||
|
|
|
@ -12,7 +12,9 @@ CLASS lcl_gui_page_stage DEFINITION FINAL INHERITING FROM lcl_gui_page.
|
|||
|
||||
METHODS:
|
||||
constructor
|
||||
IMPORTING io_repo TYPE REF TO lcl_repo_online
|
||||
IMPORTING
|
||||
io_repo TYPE REF TO lcl_repo_online
|
||||
iv_manage_files TYPE abap_bool DEFAULT abap_false
|
||||
RAISING lcx_exception,
|
||||
lif_gui_page~on_event REDEFINITION.
|
||||
|
||||
|
@ -51,7 +53,13 @@ CLASS lcl_gui_page_stage IMPLEMENTATION.
|
|||
ms_control-page_title = 'STAGE'.
|
||||
mo_repo = io_repo.
|
||||
|
||||
ms_files = lcl_stage_logic=>get( mo_repo ).
|
||||
IF iv_manage_files = abap_true.
|
||||
ms_files = lcl_stage_logic=>get(
|
||||
io_repo = mo_repo
|
||||
iv_remote_only = abap_true ).
|
||||
ELSE.
|
||||
ms_files = lcl_stage_logic=>get( mo_repo ).
|
||||
ENDIF.
|
||||
|
||||
CREATE OBJECT mo_stage
|
||||
EXPORTING
|
||||
|
|
|
@ -10,6 +10,7 @@ CLASS lcl_stage_logic DEFINITION FINAL.
|
|||
CLASS-METHODS:
|
||||
get
|
||||
IMPORTING io_repo TYPE REF TO lcl_repo_online
|
||||
iv_remote_only TYPE abap_bool DEFAULT abap_false
|
||||
RETURNING VALUE(rs_files) TYPE ty_stage_files
|
||||
RAISING lcx_exception,
|
||||
count
|
||||
|
@ -30,11 +31,17 @@ ENDCLASS.
|
|||
CLASS lcl_stage_logic IMPLEMENTATION.
|
||||
|
||||
METHOD get.
|
||||
rs_files-local = io_repo->get_files_local( ).
|
||||
|
||||
rs_files-remote = io_repo->get_files_remote( ).
|
||||
remove_identical( CHANGING cs_files = rs_files ).
|
||||
remove_ignored( EXPORTING io_repo = io_repo
|
||||
CHANGING cs_files = rs_files ).
|
||||
|
||||
IF iv_remote_only = abap_false.
|
||||
rs_files-local = io_repo->get_files_local( ).
|
||||
remove_identical( CHANGING cs_files = rs_files ).
|
||||
ENDIF.
|
||||
|
||||
remove_ignored( EXPORTING io_repo = io_repo
|
||||
CHANGING cs_files = rs_files ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD count.
|
||||
|
@ -58,10 +65,14 @@ CLASS lcl_stage_logic IMPLEMENTATION.
|
|||
lv_index = sy-tabix.
|
||||
|
||||
IF io_repo->get_dot_abapgit( )->is_ignored(
|
||||
iv_path = <ls_remote>-path
|
||||
iv_path = <ls_remote>-path
|
||||
iv_filename = <ls_remote>-filename ) = abap_true.
|
||||
DELETE cs_files-remote INDEX lv_index.
|
||||
ELSEIF <ls_remote>-path = gc_root_dir AND <ls_remote>-filename = gc_dot_abapgit.
|
||||
" Remove .abapgit from remotes - it cannot be removed or ignored
|
||||
DELETE cs_files-remote INDEX lv_index.
|
||||
ENDIF.
|
||||
|
||||
ENDLOOP.
|
||||
|
||||
ENDMETHOD.
|
||||
|
|
|
@ -259,6 +259,10 @@ CLASS lcl_gui_view_repo_content IMPLEMENTATION.
|
|||
iv_act = |{ gc_action-repo_remote_change }?{ lv_key }| ).
|
||||
lo_tb_advanced->add( iv_txt = 'Make off-line'
|
||||
iv_act = |{ gc_action-repo_remote_detach }?{ lv_key }| ).
|
||||
IF iv_rstate IS INITIAL AND iv_lstate IS INITIAL.
|
||||
lo_tb_advanced->add( iv_txt = 'Remove/Ignore files'
|
||||
iv_act = |{ gc_action-go_manage_files }?{ lv_key }| ).
|
||||
ENDIF.
|
||||
ELSE.
|
||||
lo_tb_advanced->add( iv_txt = 'Make on-line'
|
||||
iv_act = |{ gc_action-repo_remote_attach }?{ lv_key }| ).
|
||||
|
|
Loading…
Reference in New Issue
Block a user