From 58ef3a8d78a62adbff978a8f9526d6da8e97a94f Mon Sep 17 00:00:00 2001 From: sbcgua Date: Tue, 22 Nov 2016 11:32:33 +0200 Subject: [PATCH 1/2] Add fav after clone/newoff #401 --- src/zabapgit_html.prog.abap | 1 - src/zabapgit_services_repo.prog.abap | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/zabapgit_html.prog.abap b/src/zabapgit_html.prog.abap index 5f8f8ddbb..d4b0d9b13 100644 --- a/src/zabapgit_html.prog.abap +++ b/src/zabapgit_html.prog.abap @@ -263,7 +263,6 @@ CLASS lcl_html_toolbar IMPLEMENTATION. METHOD render. "TODO refactor DATA: lv_class TYPE string, - lv_text TYPE string, lv_is_drop TYPE abap_bool, lv_last TYPE abap_bool. diff --git a/src/zabapgit_services_repo.prog.abap b/src/zabapgit_services_repo.prog.abap index 7152a22f4..f33acb264 100644 --- a/src/zabapgit_services_repo.prog.abap +++ b/src/zabapgit_services_repo.prog.abap @@ -66,6 +66,7 @@ CLASS lcl_services_repo IMPLEMENTATION. lo_repo->deserialize( ). lcl_app=>user( )->set_repo_show( lo_repo->get_key( ) ). " Set default repo for user + toggle_favorite( lo_repo->get_key( ) ). COMMIT WORK. @@ -174,6 +175,7 @@ CLASS lcl_services_repo IMPLEMENTATION. iv_package = ls_popup-package ). lcl_app=>user( )->set_repo_show( lo_repo->get_key( ) ). " Set default repo for user + toggle_favorite( lo_repo->get_key( ) ). COMMIT WORK. From 4f41899a6b90d967fb9b34bf6a53dc7db377de53 Mon Sep 17 00:00:00 2001 From: sbcgua Date: Tue, 22 Nov 2016 12:13:49 +0200 Subject: [PATCH 2/2] include .abapgit to state cache #444 --- src/zabapgit_dot_abapgit.prog.abap | 14 +++++++++++++- src/zabapgit_repo_impl.prog.abap | 8 ++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/zabapgit_dot_abapgit.prog.abap b/src/zabapgit_dot_abapgit.prog.abap index 24c761ca4..36d823007 100644 --- a/src/zabapgit_dot_abapgit.prog.abap +++ b/src/zabapgit_dot_abapgit.prog.abap @@ -35,9 +35,12 @@ CLASS lcl_dot_abapgit DEFINITION CREATE PRIVATE FINAL FRIENDS ltcl_dot_abapgit. * set_starting_folder * IMPORTING iv_path TYPE string, get_master_language - RETURNING VALUE(rv_language) TYPE spras. + RETURNING VALUE(rv_language) TYPE spras, * set_master_language * IMPORTING iv_language TYPE spras. + get_signature + RETURNING VALUE(rs_signature) TYPE ty_file_signature + RAISING lcx_exception. PRIVATE SECTION. TYPES: BEGIN OF ty_dot_abapgit, @@ -207,4 +210,13 @@ CLASS lcl_dot_abapgit IMPLEMENTATION. * ms_data-master_language = iv_language. * ENDMETHOD. + METHOD get_signature. + + rs_signature-path = gc_root_dir. + rs_signature-filename = gc_dot_abapgit. + rs_signature-sha1 = lcl_hash=>sha1( iv_type = gc_type-blob + iv_data = serialize( ) ). + + ENDMETHOD. "get_signature + ENDCLASS. \ No newline at end of file diff --git a/src/zabapgit_repo_impl.prog.abap b/src/zabapgit_repo_impl.prog.abap index 06fb5ba92..39da085eb 100644 --- a/src/zabapgit_repo_impl.prog.abap +++ b/src/zabapgit_repo_impl.prog.abap @@ -260,12 +260,15 @@ CLASS lcl_repo_online IMPLEMENTATION. lt_local = get_files_local( ). lv_branch_equal = boolc( get_sha1_remote( ) = get_sha1_local( ) ). - DELETE lt_local WHERE item IS INITIAL. + DELETE lt_local " Remove non-code related files except .abapgit + WHERE item IS INITIAL + AND NOT ( file-path = gc_root_dir AND file-filename = gc_dot_abapgit ). + SORT lt_local BY item. SORT lt_remote BY path filename. LOOP AT lt_local ASSIGNING . - IF ls_last_item <> -item. " New item reached ? + IF ls_last_item <> -item OR sy-tabix = 1. " First or New item reached ? APPEND INITIAL LINE TO lt_checksums ASSIGNING . -item = -item. ls_last_item = -item. @@ -472,6 +475,7 @@ CLASS lcl_repo IMPLEMENTATION. ENDIF. lt_updated_files = lcl_objects=>deserialize( me ). + APPEND mo_dot_abapgit->get_signature( ) TO lt_updated_files. CLEAR: mt_local, mv_last_serialization.