diff --git a/src/zabapgit.prog.abap b/src/zabapgit.prog.abap index e49779a70..e696e362f 100644 --- a/src/zabapgit.prog.abap +++ b/src/zabapgit.prog.abap @@ -49,6 +49,7 @@ INCLUDE zabapgit_authorizations. INCLUDE zabapgit_exit. INCLUDE zabapgit_proxy. +INCLUDE zabapgit_tag. INCLUDE zabapgit_stage. INCLUDE zabapgit_git_helpers. INCLUDE zabapgit_repo. diff --git a/src/zabapgit_page_branch_overview.prog.abap b/src/zabapgit_page_branch_overview.prog.abap index a11724a13..e3b75244c 100644 --- a/src/zabapgit_page_branch_overview.prog.abap +++ b/src/zabapgit_page_branch_overview.prog.abap @@ -323,11 +323,7 @@ CLASS lcl_branch_overview IMPLEMENTATION. ASSIGNING . CHECK sy-subrc = 0. - lv_tag = -name. - REPLACE FIRST OCCURRENCE OF zif_abapgit_definitions=>gc_tag_prefix - IN lv_tag - WITH ''. - + lv_tag = lcl_tag=>remove_tag_prefix( -name ). INSERT lv_tag INTO TABLE -tags. ENDLOOP. diff --git a/src/zabapgit_popups.prog.abap b/src/zabapgit_popups.prog.abap index 310aac7e6..946f3afab 100644 --- a/src/zabapgit_popups.prog.abap +++ b/src/zabapgit_popups.prog.abap @@ -137,13 +137,7 @@ CLASS lcl_popups DEFINITION FINAL. EXPORTING ev_url TYPE abaptxt255-line ev_package TYPE tdevc-devclass - ev_branch TYPE textl-line, - - remove_tag_prefix - IMPORTING - iv_text TYPE string - RETURNING - VALUE(rv_text) TYPE spopli-varoption. + ev_branch TYPE textl-line. ENDCLASS. @@ -347,7 +341,7 @@ CLASS lcl_popups IMPLEMENTATION. READ TABLE lt_fields WITH KEY fieldname = 'LINE' ASSIGNING . ASSERT sy-subrc = 0. - ev_name = |{ zif_abapgit_definitions=>gc_tag_prefix }{ -value }|. + ev_name = lcl_tag=>add_tag_prefix( -value ). ENDIF. ENDMETHOD. @@ -604,7 +598,7 @@ CLASS lcl_popups IMPLEMENTATION. LOOP AT lt_tags ASSIGNING . INSERT INITIAL LINE INTO lt_selection INDEX 1 ASSIGNING . - -varoption = remove_tag_prefix( -name ). + -varoption = lcl_tag=>remove_tag_prefix( -name ). ENDLOOP. @@ -634,7 +628,7 @@ CLASS lcl_popups IMPLEMENTATION. READ TABLE lt_selection ASSIGNING WITH KEY selflag = abap_true. ASSERT sy-subrc = 0. - lv_name_with_prefix = zif_abapgit_definitions=>gc_tag_prefix && -varoption. + lv_name_with_prefix = lcl_tag=>add_Tag_prefix( -varoption ). READ TABLE lt_tags ASSIGNING WITH KEY name = lv_name_with_prefix. ASSERT sy-subrc = 0. @@ -645,7 +639,7 @@ CLASS lcl_popups IMPLEMENTATION. LOOP AT lt_tags ASSIGNING . - -name = remove_tag_prefix( -name ). + -name = lcl_tag=>remove_tag_prefix( -name ). -sha1 = -sha1(7). ENDLOOP. @@ -1230,14 +1224,4 @@ CLASS lcl_popups IMPLEMENTATION. ENDMETHOD. - METHOD remove_tag_prefix. - - rv_text = iv_text. - - REPLACE FIRST OCCURRENCE OF zif_abapgit_definitions=>gc_tag_prefix - IN rv_text - WITH ''. - - ENDMETHOD. - ENDCLASS. diff --git a/src/zabapgit_services_git.prog.abap b/src/zabapgit_services_git.prog.abap index 912319729..caaee587b 100644 --- a/src/zabapgit_services_git.prog.abap +++ b/src/zabapgit_services_git.prog.abap @@ -256,11 +256,7 @@ CLASS lcl_services_git IMPLEMENTATION. zcx_abapgit_exception=>raise( |Cannot create tag { lv_name }. Error: '{ lx_error->text }'| ). ENDTRY. - REPLACE FIRST OCCURRENCE OF zif_abapgit_definitions=>gc_tag_prefix - IN lv_name - WITH ''. - - lv_text = |Tag { lv_name } created| ##NO_TEXT. + lv_text = |Tag { lcl_tag=>remove_tag_prefix( lv_name ) } created| ##NO_TEXT. MESSAGE lv_text TYPE 'S'. @@ -283,11 +279,7 @@ CLASS lcl_services_git IMPLEMENTATION. io_repo = lo_repo is_tag = ls_tag ). - REPLACE FIRST OCCURRENCE OF zif_abapgit_definitions=>gc_tag_prefix - IN ls_tag-name - WITH ''. - - lv_text = |Tag { ls_tag-name } deleted| ##NO_TEXT. + lv_text = |Tag { lcl_tag=>remove_tag_prefix( ls_tag-name ) } deleted| ##NO_TEXT. MESSAGE lv_text TYPE 'S'. diff --git a/src/zabapgit_tag.prog.abap b/src/zabapgit_tag.prog.abap new file mode 100644 index 000000000..20ced58bf --- /dev/null +++ b/src/zabapgit_tag.prog.abap @@ -0,0 +1,41 @@ +*&---------------------------------------------------------------------* +*& Include zabapgit_tag +*&---------------------------------------------------------------------* + +CLASS lcl_tag DEFINITION. + + PUBLIC SECTION. + CLASS-METHODS: + add_tag_prefix + IMPORTING + iv_text TYPE csequence + RETURNING + VALUE(rv_text) TYPE string, + + remove_tag_prefix + IMPORTING + iv_text TYPE string + RETURNING + VALUE(rv_text) TYPE string. + +ENDCLASS. + +CLASS lcl_tag IMPLEMENTATION. + + METHOD add_tag_prefix. + + rv_text = zif_abapgit_definitions=>gc_tag_prefix && iv_text. + + ENDMETHOD. + + METHOD remove_tag_prefix. + + rv_text = iv_text. + + REPLACE FIRST OCCURRENCE OF zif_abapgit_definitions=>gc_tag_prefix + IN rv_text + WITH ''. + + ENDMETHOD. + +ENDCLASS. diff --git a/src/zabapgit_tag.prog.xml b/src/zabapgit_tag.prog.xml new file mode 100644 index 000000000..90d032d12 --- /dev/null +++ b/src/zabapgit_tag.prog.xml @@ -0,0 +1,25 @@ + + + + + + ZABAPGIT_TAG + A + X + S + D$ + I + X + D$S + X + + + + R + ZABAPGIT_TAG + 12 + + + + +