From 580eb3d63ebec7724ab3284c80dad442a1a254f0 Mon Sep 17 00:00:00 2001 From: larshp Date: Sat, 10 Sep 2016 06:19:32 +0000 Subject: [PATCH] file status, close #334 "Only Local" will be shown for objects only existing locally "Only Remote" will be shown for objects only existing in remote repository "diff" link will be shown if the file differs and exists both locally and remotely (this part of the code could use some refactoring) --- src/zabapgit.prog.abap | 2 +- src/zabapgit_definitions.prog.abap | 20 +++++++++++--------- src/zabapgit_file_status.prog.abap | 3 ++- src/zabapgit_page_main.prog.abap | 13 ++++++++----- 4 files changed, 22 insertions(+), 16 deletions(-) diff --git a/src/zabapgit.prog.abap b/src/zabapgit.prog.abap index 7512ca260..ffa094cb8 100644 --- a/src/zabapgit.prog.abap +++ b/src/zabapgit.prog.abap @@ -3,7 +3,7 @@ REPORT zabapgit LINE-SIZE 100. * See http://www.abapgit.org CONSTANTS: gc_xml_version TYPE string VALUE 'v1.0.0', "#EC NOTEXT - gc_abap_version TYPE string VALUE 'v1.17.12'. "#EC NOTEXT + gc_abap_version TYPE string VALUE 'v1.17.13'. "#EC NOTEXT ******************************************************************************** * The MIT License (MIT) diff --git a/src/zabapgit_definitions.prog.abap b/src/zabapgit_definitions.prog.abap index 4d858a2f4..e959792ca 100644 --- a/src/zabapgit_definitions.prog.abap +++ b/src/zabapgit_definitions.prog.abap @@ -48,9 +48,10 @@ TYPES: BEGIN OF ty_web_asset, TYPES tt_web_assets TYPE STANDARD TABLE OF ty_web_asset WITH DEFAULT KEY. TYPES: BEGIN OF ty_repo_file, - path TYPE string, - filename TYPE string, - is_changed TYPE abap_bool, + path TYPE string, + filename TYPE string, + is_changed TYPE abap_bool, + remote_only TYPE abap_bool, END OF ty_repo_file. TYPES tt_repo_files TYPE STANDARD TABLE OF ty_repo_file WITH DEFAULT KEY. @@ -86,12 +87,13 @@ TYPES: BEGIN OF ty_tadir, TYPES: ty_tadir_tt TYPE STANDARD TABLE OF ty_tadir WITH DEFAULT KEY. TYPES: BEGIN OF ty_result, - obj_type TYPE tadir-object, - obj_name TYPE tadir-obj_name, - match TYPE sap_bool, - filename TYPE string, - package TYPE devclass, - path TYPE string, + obj_type TYPE tadir-object, + obj_name TYPE tadir-obj_name, + match TYPE sap_bool, + filename TYPE string, + package TYPE devclass, + path TYPE string, + remote_only TYPE abap_bool, END OF ty_result. TYPES: ty_results_tt TYPE STANDARD TABLE OF ty_result WITH DEFAULT KEY. diff --git a/src/zabapgit_file_status.prog.abap b/src/zabapgit_file_status.prog.abap index a8d3a122c..7f9813727 100644 --- a/src/zabapgit_file_status.prog.abap +++ b/src/zabapgit_file_status.prog.abap @@ -104,7 +104,8 @@ CLASS lcl_file_status IMPLEMENTATION. IF lt_files[] IS INITIAL. * item does not exist locally - ls_result-filename = -filename. + ls_result-filename = -filename. + ls_result-remote_only = abap_true. APPEND ls_result TO rt_results. CONTINUE. " current loop ENDIF. diff --git a/src/zabapgit_page_main.prog.abap b/src/zabapgit_page_main.prog.abap index bf4a88e9b..205626f78 100644 --- a/src/zabapgit_page_main.prog.abap +++ b/src/zabapgit_page_main.prog.abap @@ -388,9 +388,10 @@ CLASS lcl_gui_page_main IMPLEMENTATION. ENDAT. IF -filename IS NOT INITIAL. - ls_file-path = -path. - ls_file-filename = -filename. - ls_file-is_changed = boolc( NOT -match = abap_true ). + ls_file-path = -path. + ls_file-filename = -filename. + ls_file-is_changed = boolc( NOT -match = abap_true ). + ls_file-remote_only = -remote_only. APPEND ls_file TO ls_repo_item-files. ENDIF. @@ -456,10 +457,12 @@ CLASS lcl_gui_page_main IMPLEMENTATION. ro_html->add( '' ). IF lines( is_item-files ) = 0. - ro_html->add( 'new' ). + ro_html->add( 'Only Local' ). ELSE. LOOP AT is_item-files INTO ls_file. - IF ls_file-is_changed = abap_true. + IF ls_file-remote_only = abap_true. + ro_html->add( 'Only Remote' ). + ELSEIF ls_file-is_changed = abap_true. lv_difflink = lcl_html_action_utils=>file_encode( iv_key = io_repo->get_key( ) ig_file = ls_file ).