mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 11:46:38 +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 .
|
CREATE PUBLIC .
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
CLASS-METHODS pull
|
CLASS-METHODS pull
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!io_repo TYPE REF TO zcl_abapgit_repo_online
|
!io_repo TYPE REF TO zcl_abapgit_repo_online
|
||||||
|
@ -26,15 +27,15 @@ CLASS zcl_abapgit_git_porcelain DEFINITION
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
CLASS-METHODS create_branch
|
CLASS-METHODS create_branch
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!io_repo TYPE REF TO zcl_abapgit_repo_online
|
!iv_url TYPE string
|
||||||
!iv_name TYPE string
|
!iv_name TYPE string
|
||||||
iv_from TYPE zif_abapgit_definitions=>ty_sha1
|
!iv_from TYPE zif_abapgit_definitions=>ty_sha1
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
CLASS-METHODS create_tag
|
CLASS-METHODS create_tag
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!io_repo TYPE REF TO zcl_abapgit_repo_online
|
!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
|
RAISING
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
CLASS-METHODS delete_branch
|
CLASS-METHODS delete_branch
|
||||||
|
@ -57,7 +58,6 @@ CLASS zcl_abapgit_git_porcelain DEFINITION
|
||||||
VALUE(rt_expanded) TYPE zif_abapgit_definitions=>ty_expanded_tt
|
VALUE(rt_expanded) TYPE zif_abapgit_definitions=>ty_expanded_tt
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
TYPES: BEGIN OF ty_tree,
|
TYPES: BEGIN OF ty_tree,
|
||||||
path TYPE string,
|
path TYPE string,
|
||||||
|
@ -132,7 +132,7 @@ ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS zcl_abapgit_git_porcelain IMPLEMENTATION.
|
CLASS ZCL_ABAPGIT_GIT_PORCELAIN IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD build_trees.
|
METHOD build_trees.
|
||||||
|
@ -192,6 +192,15 @@ CLASS zcl_abapgit_git_porcelain IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD create_annotated_tag.
|
||||||
|
|
||||||
|
receive_pack_create_tag(
|
||||||
|
is_tag = is_tag
|
||||||
|
io_repo = io_repo ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD create_branch.
|
METHOD create_branch.
|
||||||
|
|
||||||
DATA: lt_objects TYPE zif_abapgit_definitions=>ty_objects_tt,
|
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 ).
|
lv_pack = zcl_abapgit_git_pack=>encode( lt_objects ).
|
||||||
|
|
||||||
zcl_abapgit_git_transport=>receive_pack(
|
zcl_abapgit_git_transport=>receive_pack(
|
||||||
iv_url = io_repo->get_url( )
|
iv_url = iv_url
|
||||||
iv_old = c_zero
|
iv_old = c_zero
|
||||||
iv_new = iv_from
|
iv_new = iv_from
|
||||||
iv_branch_name = iv_name
|
iv_branch_name = iv_name
|
||||||
|
@ -215,6 +224,25 @@ CLASS zcl_abapgit_git_porcelain IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
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.
|
METHOD create_tag.
|
||||||
|
|
||||||
IF is_tag-name CS ` `.
|
IF is_tag-name CS ` `.
|
||||||
|
@ -699,32 +727,4 @@ CLASS zcl_abapgit_git_porcelain IMPLEMENTATION.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
ENDMETHOD.
|
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.
|
ENDCLASS.
|
||||||
|
|
|
@ -80,7 +80,7 @@ ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS zcl_abapgit_services_git IMPLEMENTATION.
|
CLASS ZCL_ABAPGIT_SERVICES_GIT IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD commit.
|
METHOD commit.
|
||||||
|
@ -140,15 +140,18 @@ CLASS zcl_abapgit_services_git IMPLEMENTATION.
|
||||||
RAISE EXCEPTION TYPE zcx_abapgit_cancel.
|
RAISE EXCEPTION TYPE zcx_abapgit_cancel.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
****************
|
||||||
|
* TODO: move this part to ONLINE repo class
|
||||||
ASSERT lv_name CP 'refs/heads/+*'.
|
ASSERT lv_name CP 'refs/heads/+*'.
|
||||||
|
|
||||||
zcl_abapgit_git_porcelain=>create_branch(
|
zcl_abapgit_git_porcelain=>create_branch(
|
||||||
io_repo = lo_repo
|
iv_url = lo_repo->get_url( )
|
||||||
iv_name = lv_name
|
iv_name = lv_name
|
||||||
iv_from = lo_repo->get_sha1_remote( ) ).
|
iv_from = lo_repo->get_sha1_remote( ) ).
|
||||||
|
|
||||||
" automatically switch to new branch
|
" automatically switch to new branch
|
||||||
lo_repo->set_branch_name( lv_name ).
|
lo_repo->set_branch_name( lv_name ).
|
||||||
|
*****************
|
||||||
|
|
||||||
MESSAGE 'Switched to new branch' TYPE 'S' ##NO_TEXT.
|
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.
|
METHOD create.
|
||||||
|
@ -77,7 +77,7 @@ CLASS zcl_abapgit_transport_2_branch IMPLEMENTATION.
|
||||||
ASSERT iv_branch_name CP 'refs/heads/+*'.
|
ASSERT iv_branch_name CP 'refs/heads/+*'.
|
||||||
TRY.
|
TRY.
|
||||||
zcl_abapgit_git_porcelain=>create_branch(
|
zcl_abapgit_git_porcelain=>create_branch(
|
||||||
io_repo = io_repository
|
iv_url = io_repository->get_url( )
|
||||||
iv_name = iv_branch_name
|
iv_name = iv_branch_name
|
||||||
iv_from = io_repository->get_sha1_remote( ) ).
|
iv_from = io_repository->get_sha1_remote( ) ).
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user