abapGit/src/zif_abapgit_merge.intf.abap
Lars Hvam 8226aefcfe
add interface ZIF_ABAPGIT_MERGE (#4160)
* 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
2020-11-12 08:57:34 +01:00

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.