From 509a69e48025599fea487c112437aa573cf93f1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Frederik=20Hud=C3=A1k?= Date: Fri, 1 Nov 2019 17:22:04 +0100 Subject: [PATCH] 'Duplicates' error: show duplicate object names (#3024) * 'Duplicates' error: show duplicate object names * Update zcl_abapgit_objects.clas.abap * Update zcl_abapgit_objects.clas.abap --- src/zcl_abapgit_objects.clas.abap | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/src/zcl_abapgit_objects.clas.abap b/src/zcl_abapgit_objects.clas.abap index 607145fae..5a54fa7d1 100644 --- a/src/zcl_abapgit_objects.clas.abap +++ b/src/zcl_abapgit_objects.clas.abap @@ -298,14 +298,29 @@ CLASS ZCL_ABAPGIT_OBJECTS IMPLEMENTATION. METHOD check_duplicates. - DATA: lt_files TYPE zif_abapgit_definitions=>ty_files_tt. + DATA: lt_files TYPE zif_abapgit_definitions=>ty_files_tt, + lv_path TYPE string, + lv_filename TYPE string, + lt_duplicates TYPE stringtab, + lv_all_duplicates TYPE string. + FIELD-SYMBOLS: + LIKE LINE OF it_files. lt_files = it_files. SORT lt_files BY path ASCENDING filename ASCENDING. - DELETE ADJACENT DUPLICATES FROM lt_files COMPARING path filename. - IF lines( lt_files ) <> lines( it_files ). - zcx_abapgit_exception=>raise( 'Duplicates' ). + + LOOP AT lt_files ASSIGNING . + IF lv_path = -path AND lv_filename = -filename. + APPEND -path && -filename TO lt_duplicates. + ENDIF. + lv_path = -path. + lv_filename = -filename. + ENDLOOP. + + IF lt_duplicates IS NOT INITIAL. + CONCATENATE LINES OF lt_duplicates INTO lv_all_duplicates SEPARATED BY `, `. + zcx_abapgit_exception=>raise( |Duplicates: { lv_all_duplicates }| ). ENDIF. ENDMETHOD. @@ -435,7 +450,6 @@ CLASS ZCL_ABAPGIT_OBJECTS IMPLEMENTATION. ls_obj_serializer_map-item = is_item. ls_obj_serializer_map-metadata = is_metadata. INSERT ls_obj_serializer_map INTO TABLE gt_obj_serializer_map. - lv_class_name = is_metadata-class. ELSE. lv_class_name = class_name( is_item ).