mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 04:08:27 +08:00
Consolidate offline and online repo view (#6638)
Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
parent
27743dbf34
commit
dd63de8294
|
@ -35,6 +35,8 @@ CLASS zcl_abapgit_repo DEFINITION
|
||||||
FOR zif_abapgit_repo~refresh .
|
FOR zif_abapgit_repo~refresh .
|
||||||
ALIASES set_dot_abapgit
|
ALIASES set_dot_abapgit
|
||||||
FOR zif_abapgit_repo~set_dot_abapgit .
|
FOR zif_abapgit_repo~set_dot_abapgit .
|
||||||
|
ALIASES has_remote_source
|
||||||
|
FOR zif_abapgit_repo~has_remote_source .
|
||||||
|
|
||||||
METHODS bind_listener
|
METHODS bind_listener
|
||||||
IMPORTING
|
IMPORTING
|
||||||
|
@ -73,10 +75,6 @@ CLASS zcl_abapgit_repo DEFINITION
|
||||||
VALUE(rt_objects) TYPE zif_abapgit_definitions=>ty_items_tt
|
VALUE(rt_objects) TYPE zif_abapgit_definitions=>ty_items_tt
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
METHODS has_remote_source
|
|
||||||
ABSTRACT
|
|
||||||
RETURNING
|
|
||||||
VALUE(rv_yes) TYPE abap_bool .
|
|
||||||
METHODS refresh_local_object
|
METHODS refresh_local_object
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!iv_obj_type TYPE tadir-object
|
!iv_obj_type TYPE tadir-object
|
||||||
|
@ -439,6 +437,11 @@ CLASS zcl_abapgit_repo IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD has_remote_source.
|
||||||
|
rv_yes = boolc( lines( mt_remote ) > 0 ).
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD normalize_local_settings.
|
METHOD normalize_local_settings.
|
||||||
|
|
||||||
cs_local_settings-labels = zcl_abapgit_repo_labels=>normalize( cs_local_settings-labels ).
|
cs_local_settings-labels = zcl_abapgit_repo_labels=>normalize( cs_local_settings-labels ).
|
||||||
|
|
|
@ -247,6 +247,8 @@ CLASS lcl_repo_mock IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
METHOD zif_abapgit_repo_srv~get_repo_from_url.
|
METHOD zif_abapgit_repo_srv~get_repo_from_url.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
METHOD zif_abapgit_repo~has_remote_source.
|
||||||
|
ENDMETHOD.
|
||||||
METHOD zif_abapgit_repo~is_offline.
|
METHOD zif_abapgit_repo~is_offline.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
METHOD zif_abapgit_repo~deserialize.
|
METHOD zif_abapgit_repo~deserialize.
|
||||||
|
|
|
@ -31,11 +31,7 @@ CLASS zcl_abapgit_repo_content_list DEFINITION
|
||||||
DATA: mo_repo TYPE REF TO zcl_abapgit_repo,
|
DATA: mo_repo TYPE REF TO zcl_abapgit_repo,
|
||||||
mi_log TYPE REF TO zif_abapgit_log.
|
mi_log TYPE REF TO zif_abapgit_log.
|
||||||
|
|
||||||
METHODS build_repo_items_local_only
|
METHODS build_repo_items
|
||||||
RETURNING VALUE(rt_repo_items) TYPE zif_abapgit_definitions=>ty_repo_item_tt
|
|
||||||
RAISING zcx_abapgit_exception.
|
|
||||||
|
|
||||||
METHODS build_repo_items_with_remote
|
|
||||||
RETURNING VALUE(rt_repo_items) TYPE zif_abapgit_definitions=>ty_repo_item_tt
|
RETURNING VALUE(rt_repo_items) TYPE zif_abapgit_definitions=>ty_repo_item_tt
|
||||||
RAISING zcx_abapgit_exception.
|
RAISING zcx_abapgit_exception.
|
||||||
|
|
||||||
|
@ -112,48 +108,7 @@ CLASS zcl_abapgit_repo_content_list IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD build_repo_items_local_only.
|
METHOD build_repo_items.
|
||||||
|
|
||||||
DATA: lt_tadir TYPE zif_abapgit_definitions=>ty_tadir_tt,
|
|
||||||
ls_item TYPE zif_abapgit_definitions=>ty_item.
|
|
||||||
|
|
||||||
FIELD-SYMBOLS: <ls_repo_item> LIKE LINE OF rt_repo_items,
|
|
||||||
<ls_tadir> LIKE LINE OF lt_tadir.
|
|
||||||
|
|
||||||
|
|
||||||
lt_tadir = zcl_abapgit_factory=>get_tadir( )->read(
|
|
||||||
iv_package = mo_repo->get_package( )
|
|
||||||
iv_ignore_subpackages = mo_repo->get_local_settings( )-ignore_subpackages
|
|
||||||
iv_only_local_objects = mo_repo->get_local_settings( )-only_local_objects
|
|
||||||
io_dot = mo_repo->get_dot_abapgit( ) ).
|
|
||||||
|
|
||||||
LOOP AT lt_tadir ASSIGNING <ls_tadir>.
|
|
||||||
APPEND INITIAL LINE TO rt_repo_items ASSIGNING <ls_repo_item>.
|
|
||||||
<ls_repo_item>-obj_type = <ls_tadir>-object.
|
|
||||||
<ls_repo_item>-obj_name = <ls_tadir>-obj_name.
|
|
||||||
<ls_repo_item>-path = <ls_tadir>-path.
|
|
||||||
<ls_repo_item>-srcsystem = <ls_tadir>-srcsystem.
|
|
||||||
MOVE-CORRESPONDING <ls_repo_item> TO ls_item.
|
|
||||||
<ls_repo_item>-inactive = boolc( zcl_abapgit_objects=>is_active( ls_item ) = abap_false ).
|
|
||||||
IF <ls_repo_item>-inactive = abap_true.
|
|
||||||
<ls_repo_item>-sortkey = c_sortkey-inactive.
|
|
||||||
ELSE.
|
|
||||||
<ls_repo_item>-sortkey = c_sortkey-default. " Default sort key
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
IF <ls_repo_item>-obj_type IS NOT INITIAL.
|
|
||||||
MOVE-CORRESPONDING <ls_repo_item> TO ls_item.
|
|
||||||
IF zcl_abapgit_objects=>exists( ls_item ) = abap_true.
|
|
||||||
<ls_repo_item>-changed_by = zcl_abapgit_objects=>changed_by( ls_item ).
|
|
||||||
ENDIF.
|
|
||||||
CLEAR ls_item.
|
|
||||||
ENDIF.
|
|
||||||
ENDLOOP.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD build_repo_items_with_remote.
|
|
||||||
|
|
||||||
DATA:
|
DATA:
|
||||||
lo_state TYPE REF TO zcl_abapgit_item_state,
|
lo_state TYPE REF TO zcl_abapgit_item_state,
|
||||||
|
@ -310,13 +265,18 @@ CLASS zcl_abapgit_repo_content_list IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD list.
|
METHOD list.
|
||||||
|
|
||||||
|
FIELD-SYMBOLS <ls_repo_item> LIKE LINE OF rt_repo_items.
|
||||||
|
|
||||||
mi_log->clear( ).
|
mi_log->clear( ).
|
||||||
|
|
||||||
IF mo_repo->has_remote_source( ) = abap_true.
|
rt_repo_items = build_repo_items( ).
|
||||||
rt_repo_items = build_repo_items_with_remote( ).
|
|
||||||
check_repo_size( ).
|
check_repo_size( ).
|
||||||
ELSE.
|
|
||||||
rt_repo_items = build_repo_items_local_only( ).
|
IF mo_repo->has_remote_source( ) = abap_false.
|
||||||
|
" If there's no remote source, ignore the item state
|
||||||
|
LOOP AT rt_repo_items ASSIGNING <ls_repo_item>.
|
||||||
|
CLEAR: <ls_repo_item>-changes, <ls_repo_item>-lstate, <ls_repo_item>-rstate.
|
||||||
|
ENDLOOP.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
IF iv_by_folders = abap_true.
|
IF iv_by_folders = abap_true.
|
||||||
|
|
|
@ -5,9 +5,6 @@ CLASS zcl_abapgit_repo_offline DEFINITION
|
||||||
CREATE PUBLIC .
|
CREATE PUBLIC .
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
METHODS has_remote_source
|
|
||||||
REDEFINITION .
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
METHODS reset_remote
|
METHODS reset_remote
|
||||||
|
@ -20,11 +17,6 @@ ENDCLASS.
|
||||||
CLASS zcl_abapgit_repo_offline IMPLEMENTATION.
|
CLASS zcl_abapgit_repo_offline IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD has_remote_source.
|
|
||||||
rv_yes = boolc( lines( mt_remote ) > 0 ).
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD reset_remote.
|
METHOD reset_remote.
|
||||||
|
|
||||||
DATA lt_backup LIKE mt_remote.
|
DATA lt_backup LIKE mt_remote.
|
||||||
|
|
|
@ -37,8 +37,6 @@ CLASS zcl_abapgit_repo_online DEFINITION
|
||||||
REDEFINITION .
|
REDEFINITION .
|
||||||
METHODS zif_abapgit_repo~get_name
|
METHODS zif_abapgit_repo~get_name
|
||||||
REDEFINITION .
|
REDEFINITION .
|
||||||
METHODS has_remote_source
|
|
||||||
REDEFINITION .
|
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
|
@ -148,11 +146,6 @@ CLASS zcl_abapgit_repo_online IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD has_remote_source.
|
|
||||||
rv_yes = abap_true.
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD raise_error_if_branch_exists.
|
METHOD raise_error_if_branch_exists.
|
||||||
|
|
||||||
DATA:
|
DATA:
|
||||||
|
|
|
@ -78,4 +78,8 @@ INTERFACE zif_abapgit_repo
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
|
|
||||||
|
METHODS has_remote_source
|
||||||
|
RETURNING
|
||||||
|
VALUE(rv_yes) TYPE abap_bool .
|
||||||
|
|
||||||
ENDINTERFACE.
|
ENDINTERFACE.
|
||||||
|
|
|
@ -222,6 +222,10 @@ CLASS ltd_repo IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD zif_abapgit_repo~has_remote_source.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD zif_abapgit_repo~is_offline.
|
METHOD zif_abapgit_repo~is_offline.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user