mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
include .abapgit to state cache #444
This commit is contained in:
parent
58ef3a8d78
commit
4f41899a6b
|
@ -35,9 +35,12 @@ CLASS lcl_dot_abapgit DEFINITION CREATE PRIVATE FINAL FRIENDS ltcl_dot_abapgit.
|
||||||
* set_starting_folder
|
* set_starting_folder
|
||||||
* IMPORTING iv_path TYPE string,
|
* IMPORTING iv_path TYPE string,
|
||||||
get_master_language
|
get_master_language
|
||||||
RETURNING VALUE(rv_language) TYPE spras.
|
RETURNING VALUE(rv_language) TYPE spras,
|
||||||
* set_master_language
|
* set_master_language
|
||||||
* IMPORTING iv_language TYPE spras.
|
* IMPORTING iv_language TYPE spras.
|
||||||
|
get_signature
|
||||||
|
RETURNING VALUE(rs_signature) TYPE ty_file_signature
|
||||||
|
RAISING lcx_exception.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
TYPES: BEGIN OF ty_dot_abapgit,
|
TYPES: BEGIN OF ty_dot_abapgit,
|
||||||
|
@ -207,4 +210,13 @@ CLASS lcl_dot_abapgit IMPLEMENTATION.
|
||||||
* ms_data-master_language = iv_language.
|
* ms_data-master_language = iv_language.
|
||||||
* ENDMETHOD.
|
* 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.
|
ENDCLASS.
|
|
@ -260,12 +260,15 @@ CLASS lcl_repo_online IMPLEMENTATION.
|
||||||
lt_local = get_files_local( ).
|
lt_local = get_files_local( ).
|
||||||
lv_branch_equal = boolc( get_sha1_remote( ) = get_sha1_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_local BY item.
|
||||||
SORT lt_remote BY path filename.
|
SORT lt_remote BY path filename.
|
||||||
|
|
||||||
LOOP AT lt_local ASSIGNING <ls_local>.
|
LOOP AT lt_local ASSIGNING <ls_local>.
|
||||||
IF ls_last_item <> <ls_local>-item. " New item reached ?
|
IF ls_last_item <> <ls_local>-item OR sy-tabix = 1. " First or New item reached ?
|
||||||
APPEND INITIAL LINE TO lt_checksums ASSIGNING <ls_checksum>.
|
APPEND INITIAL LINE TO lt_checksums ASSIGNING <ls_checksum>.
|
||||||
<ls_checksum>-item = <ls_local>-item.
|
<ls_checksum>-item = <ls_local>-item.
|
||||||
ls_last_item = <ls_local>-item.
|
ls_last_item = <ls_local>-item.
|
||||||
|
@ -472,6 +475,7 @@ CLASS lcl_repo IMPLEMENTATION.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
lt_updated_files = lcl_objects=>deserialize( me ).
|
lt_updated_files = lcl_objects=>deserialize( me ).
|
||||||
|
APPEND mo_dot_abapgit->get_signature( ) TO lt_updated_files.
|
||||||
|
|
||||||
CLEAR: mt_local, mv_last_serialization.
|
CLEAR: mt_local, mv_last_serialization.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user