mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 11:46:38 +08:00
commit
e1f99883ec
|
@ -2,9 +2,6 @@ REPORT zabapgit LINE-SIZE 100.
|
|||
|
||||
* See http://www.abapgit.org
|
||||
|
||||
CONSTANTS: gc_xml_version TYPE string VALUE 'v1.0.0', "#EC NOTEXT
|
||||
gc_abap_version TYPE string VALUE 'v1.37.2'. "#EC NOTEXT
|
||||
|
||||
********************************************************************************
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
|
|
|
@ -6,6 +6,9 @@ TYPE-POOLS seop.
|
|||
|
||||
INTERFACE lif_defs.
|
||||
|
||||
CONSTANTS: gc_xml_version TYPE string VALUE 'v1.0.0', "#EC NOTEXT
|
||||
gc_abap_version TYPE string VALUE 'v1.37.2'. "#EC NOTEXT
|
||||
|
||||
TYPES: ty_type TYPE c LENGTH 6,
|
||||
ty_bitbyte TYPE c LENGTH 8,
|
||||
ty_sha1 TYPE c LENGTH 40.
|
||||
|
|
|
@ -186,7 +186,7 @@ CLASS lcl_gui IMPLEMENTATION.
|
|||
|
||||
METHOD call_page.
|
||||
|
||||
DATA: ls_stack TYPE ty_page_stack.
|
||||
DATA: ls_stack TYPE ty_page_stack.
|
||||
|
||||
IF iv_replacing = abap_false AND NOT mi_cur_page IS INITIAL.
|
||||
ls_stack-page = mi_cur_page.
|
||||
|
@ -281,11 +281,11 @@ CLASS lcl_gui IMPLEMENTATION.
|
|||
|
||||
CALL FUNCTION 'SCMS_STRING_TO_XSTRING'
|
||||
EXPORTING
|
||||
text = iv_text
|
||||
text = iv_text
|
||||
IMPORTING
|
||||
buffer = lv_xstr
|
||||
buffer = lv_xstr
|
||||
EXCEPTIONS
|
||||
OTHERS = 1.
|
||||
OTHERS = 1.
|
||||
ASSERT sy-subrc = 0.
|
||||
|
||||
ELSE. " Raw input
|
||||
|
|
|
@ -408,7 +408,7 @@ CLASS lcl_http IMPLEMENTATION.
|
|||
METHOD get_agent.
|
||||
|
||||
* bitbucket require agent prefix = "git/"
|
||||
rv_agent = 'git/abapGit-' && gc_abap_version.
|
||||
rv_agent = 'git/abapGit-' && lif_defs=>gc_abap_version.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
|
|
@ -121,7 +121,7 @@ CLASS lcl_news IMPLEMENTATION.
|
|||
CREATE OBJECT ro_instance
|
||||
EXPORTING
|
||||
iv_rawdata = <file>-data
|
||||
iv_current_version = gc_abap_version " TODO refactor
|
||||
iv_current_version = lif_defs=>gc_abap_version " TODO refactor
|
||||
iv_lastseen_version = normalize_version( lv_last_seen ).
|
||||
ENDIF.
|
||||
|
||||
|
|
|
@ -47,14 +47,14 @@ CLASS lcl_gui_page DEFINITION ABSTRACT.
|
|||
PRIVATE SECTION.
|
||||
|
||||
METHODS html_head
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html.
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html.
|
||||
|
||||
METHODS title
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html.
|
||||
|
||||
|
||||
METHODS footer
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html.
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html.
|
||||
|
||||
METHODS redirect
|
||||
RETURNING VALUE(ro_html) TYPE REF TO lcl_html.
|
||||
|
@ -119,7 +119,7 @@ CLASS lcl_gui_page IMPLEMENTATION.
|
|||
ro_html->add( '<table class="w100"><tr>' ). "#EC NOTEXT
|
||||
|
||||
ro_html->add( '<td class="w40"></td>' ). "#EC NOTEXT
|
||||
ro_html->add( |<td><span class="version">{ gc_abap_version }</span></td>| ). "#EC NOTEXT
|
||||
ro_html->add( |<td><span class="version">{ lif_defs=>gc_abap_version }</span></td>| ). "#EC NOTEXT
|
||||
ro_html->add( '<td id="debug-output" class="w40"></td>' ). "#EC NOTEXT
|
||||
|
||||
ro_html->add( '</tr></table>' ). "#EC NOTEXT
|
||||
|
@ -131,13 +131,13 @@ CLASS lcl_gui_page IMPLEMENTATION.
|
|||
|
||||
CREATE OBJECT ro_html.
|
||||
|
||||
ro_html->add( '<!DOCTYPE html>' ). "#EC NOTEXT
|
||||
ro_html->add( '<html>' ). "#EC NOTEXT
|
||||
ro_html->add( '<head>' ). "#EC NOTEXT
|
||||
ro_html->add( '<!DOCTYPE html>' ). "#EC NOTEXT
|
||||
ro_html->add( '<html>' ). "#EC NOTEXT
|
||||
ro_html->add( '<head>' ). "#EC NOTEXT
|
||||
ro_html->add( |<meta http-equiv="refresh" content="0; url={
|
||||
ms_control-redirect_url }">| ). "#EC NOTEXT
|
||||
ro_html->add( '</head>'). "#EC NOTEXT
|
||||
ro_html->add( '</html>'). "#EC NOTEXT
|
||||
ms_control-redirect_url }">| ). "#EC NOTEXT
|
||||
ro_html->add( '</head>' ). "#EC NOTEXT
|
||||
ro_html->add( '</html>' ). "#EC NOTEXT
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
@ -180,7 +180,7 @@ CLASS lcl_gui_page IMPLEMENTATION.
|
|||
ro_html->add( '</script>' ).
|
||||
ENDIF.
|
||||
|
||||
ro_html->add( '</html>'). "#EC NOTEXT
|
||||
ro_html->add( '</html>' ). "#EC NOTEXT
|
||||
|
||||
ENDMETHOD. " lif_gui_page~render.
|
||||
|
||||
|
|
|
@ -181,18 +181,18 @@ CLASS lcl_gui_page_bkg IMPLEMENTATION.
|
|||
ro_html->add( lcl_gui_chunk_lib=>render_repo_top( lo_repo ) ).
|
||||
ro_html->add( '<br>' ).
|
||||
|
||||
ro_html->add( '<u>Method</u><br>' ) ##NO_TEXT.
|
||||
ro_html->add( '<u>Method</u><br>' ) ##NO_TEXT.
|
||||
ro_html->add( |<form method="get" action="sapevent:{ lif_defs=>gc_action-bg_update }">| ).
|
||||
ro_html->add( '<input type="radio" name="method" value="nothing"' &&
|
||||
lv_nothing && '>Do nothing<br>' ) ##NO_TEXT.
|
||||
lv_nothing && '>Do nothing<br>' ) ##NO_TEXT.
|
||||
ro_html->add( '<input type="radio" name="method" value="push"' &&
|
||||
lv_push && '>Automatic push<br>' ) ##NO_TEXT.
|
||||
lv_push && '>Automatic push<br>' ) ##NO_TEXT.
|
||||
ro_html->add( '<input type="radio" name="method" value="pull"' &&
|
||||
lv_pull && '>Automatic pull<br>' ) ##NO_TEXT.
|
||||
lv_pull && '>Automatic pull<br>' ) ##NO_TEXT.
|
||||
ro_html->add( '<br>' ).
|
||||
|
||||
ro_html->add( '<u>HTTP Authentication, optional</u><br>' ) ##NO_TEXT.
|
||||
ro_html->add( '(password will be saved in clear text)<br>' ) ##NO_TEXT.
|
||||
ro_html->add( '<u>HTTP Authentication, optional</u><br>' ) ##NO_TEXT.
|
||||
ro_html->add( '(password will be saved in clear text)<br>' ) ##NO_TEXT.
|
||||
ro_html->add( '<table>' ).
|
||||
ro_html->add( '<tr>' ).
|
||||
ro_html->add( '<td>Username:</td>' ).
|
||||
|
@ -210,9 +210,9 @@ CLASS lcl_gui_page_bkg IMPLEMENTATION.
|
|||
|
||||
ro_html->add( '<u>Commit author</u><br>' ).
|
||||
ro_html->add( '<input type="radio" name="amethod" value="fixed"' &&
|
||||
lv_afixed && '>Fixed<br>' ) ##NO_TEXT.
|
||||
lv_afixed && '>Fixed<br>' ) ##NO_TEXT.
|
||||
ro_html->add( '<input type="radio" name="amethod" value="auto"' &&
|
||||
lv_aauto && '>Automatic<br>' ) ##NO_TEXT.
|
||||
lv_aauto && '>Automatic<br>' ) ##NO_TEXT.
|
||||
ro_html->add( '<br>' ).
|
||||
|
||||
ro_html->add( '<table>' ).
|
||||
|
|
|
@ -55,8 +55,8 @@ CLASS lcl_gui_page_debuginfo IMPLEMENTATION.
|
|||
|
||||
CREATE OBJECT ro_html.
|
||||
|
||||
ro_html->add( |<p>abapGit version: { gc_abap_version }</p>| ).
|
||||
ro_html->add( |<p>XML version: { gc_xml_version }</p>| ).
|
||||
ro_html->add( |<p>abapGit version: { lif_defs=>gc_abap_version }</p>| ).
|
||||
ro_html->add( |<p>XML version: { lif_defs=>gc_xml_version }</p>| ).
|
||||
ro_html->add( |<p>GUI version: { lv_gui_version }</p>| ).
|
||||
ro_html->add( |<p>LCL_TIME: { lcl_time=>get( ) }</p>| ).
|
||||
ro_html->add( |<p>SY time: { sy-datum } { sy-uzeit } { sy-tzone }</p>| ).
|
||||
|
|
|
@ -62,17 +62,6 @@ CLASS lcl_repo_content_list DEFINITION FINAL.
|
|||
|
||||
ENDCLASS. "lcl_repo_content_browser
|
||||
|
||||
DEFINE _reduce_state.
|
||||
" &1 - prev, &2 - cur
|
||||
IF &1 = &2 OR &2 IS INITIAL.
|
||||
ASSERT 1 = 1. " No change
|
||||
ELSEIF &1 IS INITIAL.
|
||||
&1 = &2.
|
||||
ELSE.
|
||||
&1 = lif_defs=>gc_state-mixed.
|
||||
ENDIF.
|
||||
END-OF-DEFINITION.
|
||||
|
||||
CLASS lcl_repo_content_list IMPLEMENTATION.
|
||||
|
||||
METHOD constructor.
|
||||
|
@ -146,8 +135,11 @@ CLASS lcl_repo_content_list IMPLEMENTATION.
|
|||
ENDAT.
|
||||
|
||||
ls_folder-changes = ls_folder-changes + <item>-changes.
|
||||
_reduce_state ls_folder-lstate <item>-lstate.
|
||||
_reduce_state ls_folder-rstate <item>-rstate.
|
||||
|
||||
lcl_state=>reduce( EXPORTING iv_cur = <item>-lstate
|
||||
CHANGING cv_prev = ls_folder-lstate ).
|
||||
lcl_state=>reduce( EXPORTING iv_cur = <item>-rstate
|
||||
CHANGING cv_prev = ls_folder-rstate ).
|
||||
|
||||
AT END OF path.
|
||||
APPEND ls_folder TO ct_repo_items.
|
||||
|
@ -229,8 +221,11 @@ CLASS lcl_repo_content_list IMPLEMENTATION.
|
|||
IF ls_file-is_changed = abap_true.
|
||||
<ls_repo_item>-sortkey = c_sortkey-changed. " Changed files
|
||||
<ls_repo_item>-changes = <ls_repo_item>-changes + 1.
|
||||
_reduce_state <ls_repo_item>-lstate ls_file-lstate.
|
||||
_reduce_state <ls_repo_item>-rstate ls_file-rstate.
|
||||
|
||||
lcl_state=>reduce( EXPORTING iv_cur = ls_file-lstate
|
||||
CHANGING cv_prev = <ls_repo_item>-lstate ).
|
||||
lcl_state=>reduce( EXPORTING iv_cur = <ls_repo_item>-rstate
|
||||
CHANGING cv_prev = ls_file-rstate ).
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
|
||||
|
|
|
@ -2,6 +2,35 @@
|
|||
*& Include ZABAPGIT_UTIL
|
||||
*&---------------------------------------------------------------------*
|
||||
|
||||
CLASS lcl_state DEFINITION.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
CLASS-METHODS:
|
||||
reduce
|
||||
IMPORTING
|
||||
iv_cur TYPE char1
|
||||
CHANGING
|
||||
cv_prev TYPE char1.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
CLASS lcl_state IMPLEMENTATION.
|
||||
|
||||
METHOD reduce.
|
||||
|
||||
IF cv_prev = iv_cur OR iv_cur IS INITIAL.
|
||||
RETURN. " No change
|
||||
ELSEIF cv_prev IS INITIAL.
|
||||
cv_prev = iv_cur.
|
||||
ELSE.
|
||||
cv_prev = lif_defs=>gc_state-mixed.
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
*----------------------------------------------------------------------*
|
||||
* CLASS lcl_time DEFINITION
|
||||
*----------------------------------------------------------------------*
|
||||
|
|
|
@ -151,8 +151,10 @@ CLASS lcl_gui_view_repo IMPLEMENTATION.
|
|||
iv_changes_only = mv_changes_only ).
|
||||
|
||||
LOOP AT lt_repo_items ASSIGNING <ls_item>.
|
||||
_reduce_state lv_lstate <ls_item>-lstate.
|
||||
_reduce_state lv_rstate <ls_item>-rstate.
|
||||
lcl_state=>reduce( EXPORTING iv_cur = <ls_item>-lstate
|
||||
CHANGING cv_prev = lv_lstate ).
|
||||
lcl_state=>reduce( EXPORTING iv_cur = <ls_item>-rstate
|
||||
CHANGING cv_prev = lv_rstate ).
|
||||
ENDLOOP.
|
||||
|
||||
ro_html->add( render_head_line( iv_lstate = lv_lstate
|
||||
|
|
|
@ -81,7 +81,7 @@ CLASS lcl_xml IMPLEMENTATION.
|
|||
li_element = mi_xml_doc->find_from_name_ns( depth = 0 name = c_abapgit_tag ).
|
||||
li_version = li_element->if_ixml_node~get_attributes(
|
||||
)->get_named_item_ns( c_attr_version ) ##no_text.
|
||||
IF li_version->get_value( ) <> gc_xml_version.
|
||||
IF li_version->get_value( ) <> lif_defs=>gc_xml_version.
|
||||
display_xml_error( ).
|
||||
ENDIF.
|
||||
|
||||
|
@ -96,7 +96,7 @@ CLASS lcl_xml IMPLEMENTATION.
|
|||
DATA: lv_version TYPE string.
|
||||
|
||||
|
||||
lv_version = |abapGit version: { gc_abap_version }|.
|
||||
lv_version = |abapGit version: { lif_defs=>gc_abap_version }|.
|
||||
|
||||
CALL FUNCTION 'POPUP_TO_INFORM'
|
||||
EXPORTING
|
||||
|
@ -270,7 +270,7 @@ CLASS lcl_xml_output IMPLEMENTATION.
|
|||
ENDIF.
|
||||
|
||||
li_git = mi_xml_doc->create_element( c_abapgit_tag ).
|
||||
li_git->set_attribute( name = c_attr_version value = gc_xml_version ).
|
||||
li_git->set_attribute( name = c_attr_version value = lif_defs=>gc_xml_version ).
|
||||
IF NOT is_metadata IS INITIAL.
|
||||
li_git->set_attribute( name = c_attr_serializer
|
||||
value = is_metadata-class ).
|
||||
|
|
Loading…
Reference in New Issue
Block a user