mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00

* move merge types to merge class this will make the God interface defintions smaller also reducing INTF -> CLAS references and making it easier to add an interface for the merge class in the future * add interface ZIF_ABAPGIT_MERGE
52 lines
1.6 KiB
ABAP
52 lines
1.6 KiB
ABAP
INTERFACE zif_abapgit_merge PUBLIC .
|
|
|
|
TYPES:
|
|
BEGIN OF ty_merge,
|
|
repo TYPE REF TO zcl_abapgit_repo_online,
|
|
source TYPE zif_abapgit_definitions=>ty_git_branch,
|
|
target TYPE zif_abapgit_definitions=>ty_git_branch,
|
|
common TYPE zif_abapgit_definitions=>ty_ancestor,
|
|
stree TYPE zif_abapgit_definitions=>ty_expanded_tt,
|
|
ttree TYPE zif_abapgit_definitions=>ty_expanded_tt,
|
|
ctree TYPE zif_abapgit_definitions=>ty_expanded_tt,
|
|
result TYPE zif_abapgit_definitions=>ty_expanded_tt,
|
|
stage TYPE REF TO zcl_abapgit_stage,
|
|
conflict TYPE string,
|
|
END OF ty_merge .
|
|
TYPES:
|
|
BEGIN OF ty_merge_conflict,
|
|
path TYPE string,
|
|
filename TYPE string,
|
|
source_sha1 TYPE zif_abapgit_definitions=>ty_sha1,
|
|
source_data TYPE xstring,
|
|
target_sha1 TYPE zif_abapgit_definitions=>ty_sha1,
|
|
target_data TYPE xstring,
|
|
result_sha1 TYPE zif_abapgit_definitions=>ty_sha1,
|
|
result_data TYPE xstring,
|
|
END OF ty_merge_conflict .
|
|
TYPES:
|
|
ty_merge_conflict_tt TYPE STANDARD TABLE OF ty_merge_conflict WITH DEFAULT KEY .
|
|
|
|
METHODS get_conflicts
|
|
RETURNING
|
|
VALUE(rt_conflicts) TYPE ty_merge_conflict_tt .
|
|
METHODS get_result
|
|
RETURNING
|
|
VALUE(rs_merge) TYPE ty_merge .
|
|
METHODS get_source_branch
|
|
RETURNING
|
|
VALUE(rv_source_branch) TYPE string .
|
|
METHODS has_conflicts
|
|
RETURNING
|
|
VALUE(rv_conflicts_exists) TYPE abap_bool .
|
|
METHODS resolve_conflict
|
|
IMPORTING
|
|
!is_conflict TYPE ty_merge_conflict
|
|
RAISING
|
|
zcx_abapgit_exception .
|
|
METHODS run
|
|
RAISING
|
|
zcx_abapgit_exception .
|
|
|
|
ENDINTERFACE.
|