mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 03:36:32 +08:00
separate repo from CREATE_BRANCH
This commit is contained in:
parent
742f3e5e2c
commit
d431f2d9d0
|
@ -4,6 +4,7 @@ CLASS zcl_abapgit_git_porcelain DEFINITION
|
|||
CREATE PUBLIC .
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
CLASS-METHODS pull
|
||||
IMPORTING
|
||||
!io_repo TYPE REF TO zcl_abapgit_repo_online
|
||||
|
@ -26,15 +27,15 @@ CLASS zcl_abapgit_git_porcelain DEFINITION
|
|||
zcx_abapgit_exception .
|
||||
CLASS-METHODS create_branch
|
||||
IMPORTING
|
||||
!io_repo TYPE REF TO zcl_abapgit_repo_online
|
||||
!iv_url TYPE string
|
||||
!iv_name TYPE string
|
||||
iv_from TYPE zif_abapgit_definitions=>ty_sha1
|
||||
!iv_from TYPE zif_abapgit_definitions=>ty_sha1
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
CLASS-METHODS create_tag
|
||||
IMPORTING
|
||||
!io_repo TYPE REF TO zcl_abapgit_repo_online
|
||||
is_tag TYPE zif_abapgit_definitions=>ty_git_tag
|
||||
!is_tag TYPE zif_abapgit_definitions=>ty_git_tag
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
CLASS-METHODS delete_branch
|
||||
|
@ -56,8 +57,7 @@ CLASS zcl_abapgit_git_porcelain DEFINITION
|
|||
RETURNING
|
||||
VALUE(rt_expanded) TYPE zif_abapgit_definitions=>ty_expanded_tt
|
||||
RAISING
|
||||
zcx_abapgit_exception.
|
||||
|
||||
zcx_abapgit_exception .
|
||||
PRIVATE SECTION.
|
||||
TYPES: BEGIN OF ty_tree,
|
||||
path TYPE string,
|
||||
|
@ -132,7 +132,7 @@ ENDCLASS.
|
|||
|
||||
|
||||
|
||||
CLASS zcl_abapgit_git_porcelain IMPLEMENTATION.
|
||||
CLASS ZCL_ABAPGIT_GIT_PORCELAIN IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD build_trees.
|
||||
|
@ -192,6 +192,15 @@ CLASS zcl_abapgit_git_porcelain IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD create_annotated_tag.
|
||||
|
||||
receive_pack_create_tag(
|
||||
is_tag = is_tag
|
||||
io_repo = io_repo ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD create_branch.
|
||||
|
||||
DATA: lt_objects TYPE zif_abapgit_definitions=>ty_objects_tt,
|
||||
|
@ -206,7 +215,7 @@ CLASS zcl_abapgit_git_porcelain IMPLEMENTATION.
|
|||
lv_pack = zcl_abapgit_git_pack=>encode( lt_objects ).
|
||||
|
||||
zcl_abapgit_git_transport=>receive_pack(
|
||||
iv_url = io_repo->get_url( )
|
||||
iv_url = iv_url
|
||||
iv_old = c_zero
|
||||
iv_new = iv_from
|
||||
iv_branch_name = iv_name
|
||||
|
@ -215,6 +224,25 @@ CLASS zcl_abapgit_git_porcelain IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD create_lightweight_tag.
|
||||
|
||||
DATA: lt_objects TYPE zif_abapgit_definitions=>ty_objects_tt,
|
||||
lv_pack TYPE xstring.
|
||||
|
||||
* "client MUST send an empty packfile"
|
||||
* https://github.com/git/git/blob/master/Documentation/technical/pack-protocol.txt#L514
|
||||
lv_pack = zcl_abapgit_git_pack=>encode( lt_objects ).
|
||||
|
||||
zcl_abapgit_git_transport=>receive_pack(
|
||||
iv_url = io_repo->get_url( )
|
||||
iv_old = c_zero
|
||||
iv_new = is_tag-sha1
|
||||
iv_branch_name = is_tag-name
|
||||
iv_pack = lv_pack ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD create_tag.
|
||||
|
||||
IF is_tag-name CS ` `.
|
||||
|
@ -699,32 +727,4 @@ CLASS zcl_abapgit_git_porcelain IMPLEMENTATION.
|
|||
ENDLOOP.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD create_annotated_tag.
|
||||
|
||||
receive_pack_create_tag(
|
||||
is_tag = is_tag
|
||||
io_repo = io_repo ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD create_lightweight_tag.
|
||||
|
||||
DATA: lt_objects TYPE zif_abapgit_definitions=>ty_objects_tt,
|
||||
lv_pack TYPE xstring.
|
||||
|
||||
* "client MUST send an empty packfile"
|
||||
* https://github.com/git/git/blob/master/Documentation/technical/pack-protocol.txt#L514
|
||||
lv_pack = zcl_abapgit_git_pack=>encode( lt_objects ).
|
||||
|
||||
zcl_abapgit_git_transport=>receive_pack(
|
||||
iv_url = io_repo->get_url( )
|
||||
iv_old = c_zero
|
||||
iv_new = is_tag-sha1
|
||||
iv_branch_name = is_tag-name
|
||||
iv_pack = lv_pack ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
|
|
|
@ -80,7 +80,7 @@ ENDCLASS.
|
|||
|
||||
|
||||
|
||||
CLASS zcl_abapgit_services_git IMPLEMENTATION.
|
||||
CLASS ZCL_ABAPGIT_SERVICES_GIT IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD commit.
|
||||
|
@ -140,15 +140,18 @@ CLASS zcl_abapgit_services_git IMPLEMENTATION.
|
|||
RAISE EXCEPTION TYPE zcx_abapgit_cancel.
|
||||
ENDIF.
|
||||
|
||||
****************
|
||||
* TODO: move this part to ONLINE repo class
|
||||
ASSERT lv_name CP 'refs/heads/+*'.
|
||||
|
||||
zcl_abapgit_git_porcelain=>create_branch(
|
||||
io_repo = lo_repo
|
||||
iv_url = lo_repo->get_url( )
|
||||
iv_name = lv_name
|
||||
iv_from = lo_repo->get_sha1_remote( ) ).
|
||||
|
||||
" automatically switch to new branch
|
||||
lo_repo->set_branch_name( lv_name ).
|
||||
*****************
|
||||
|
||||
MESSAGE 'Switched to new branch' TYPE 'S' ##NO_TEXT.
|
||||
|
||||
|
|
|
@ -33,7 +33,7 @@ ENDCLASS.
|
|||
|
||||
|
||||
|
||||
CLASS zcl_abapgit_transport_2_branch IMPLEMENTATION.
|
||||
CLASS ZCL_ABAPGIT_TRANSPORT_2_BRANCH IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD create.
|
||||
|
@ -77,7 +77,7 @@ CLASS zcl_abapgit_transport_2_branch IMPLEMENTATION.
|
|||
ASSERT iv_branch_name CP 'refs/heads/+*'.
|
||||
TRY.
|
||||
zcl_abapgit_git_porcelain=>create_branch(
|
||||
io_repo = io_repository
|
||||
iv_url = io_repository->get_url( )
|
||||
iv_name = iv_branch_name
|
||||
iv_from = io_repository->get_sha1_remote( ) ).
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user