diff --git a/src/zabapgit_git.prog.abap b/src/zabapgit_git.prog.abap index 1d7b3dc71..007361c98 100644 --- a/src/zabapgit_git.prog.abap +++ b/src/zabapgit_git.prog.abap @@ -1203,6 +1203,7 @@ CLASS lcl_git_porcelain IMPLEMENTATION. lv_commit TYPE xstring, lt_objects TYPE zif_abapgit_definitions=>ty_objects_tt, lv_pack TYPE xstring, + lt_files TYPE zif_abapgit_definitions=>ty_files_tt, ls_object LIKE LINE OF lt_objects, ls_commit TYPE lcl_git_pack=>ty_commit. @@ -1283,6 +1284,15 @@ CLASS lcl_git_porcelain IMPLEMENTATION. iv_branch_name = io_stage->get_branch_name( ) iv_pack = lv_pack ). +* update objects in repo, we know what has been pushed + APPEND LINES OF io_repo->get_objects( ) TO lt_objects. + io_repo->set_objects( lt_objects ). + walk( EXPORTING it_objects = lt_objects + iv_sha1 = ls_commit-tree + iv_path = '/' + CHANGING ct_files = lt_files ). + io_repo->set_files_remote( lt_files ). + ENDMETHOD. "receive_pack METHOD delete_branch. diff --git a/src/zabapgit_repo_impl.prog.abap b/src/zabapgit_repo_impl.prog.abap index 4d66192c1..243bf39df 100644 --- a/src/zabapgit_repo_impl.prog.abap +++ b/src/zabapgit_repo_impl.prog.abap @@ -205,10 +205,12 @@ CLASS lcl_repo_online IMPLEMENTATION. IF io_stage->get_branch_sha1( ) = get_sha1_local( ). * pushing to the branch currently represented by this repository object + mv_branch = lv_branch. set( iv_sha1 = lv_branch ). + ELSE. + refresh( ). ENDIF. - refresh( ). update_local_checksums( lt_updated_files ). IF lcl_stage_logic=>count( me ) = 0.