Merged branch t444_t450 into master

This commit is contained in:
sbcgua 2016-11-22 19:24:07 +02:00
commit e907e9f3a0
2 changed files with 19 additions and 3 deletions

View File

@ -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.

View File

@ -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.