* Fix "Unexpected package naming" error
Previously, when an object existed in the repo and locally but was *not* included in the package hierarchy of the repository, you would get the following error (when opening the repo):
...
With this PR, log messages will list all objects that are not included in the package hierarchy. When pulling, the popup will show these objects and ask for confirmation to overwrite. I added an icon and description to the "package overwrite" popup similar to the "object selection" popup.
Closes#5728
* Update unit tests
Co-authored-by: Lars Hvam <larshp@hotmail.com>
If a sub-package is removed from the package hierarchy, instead of an exception, abapGit now shows a detailed warning message in the log.
This allows to remedy the situation either by adding the sub-package to the package hierarchy or by removing the sub-package from the repository (via push).
* Skipping serialization for ignored objects
Serialization now evaluates the ignore list and skips matching objects. Note: The match is using the ABAP `cp` operator.
Example:
```
*ztest.prog.* Ignore individual program
*.ectd.* Ignore all objects of a given type
*/subpack/* Ignore all objects in a sub-package
```
- Move `is_active` from `zcl_abapgit_objects_super` to `zcl_abapgit_objects_activation`
- Consolidate `is_ddic_type` logic
- Add unit tests for `zcl_abapgit_objects_activation`
Package is now required for CLAS deletion for RS_CORR_INSERT but was not correctly determined for object deletions because of different field names when using MOVE-CORRESPONDING and another missing assignment.
Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
* Data import: fix dump ITAB_DUPLICATE_KEY
System dumps during serialization of customizing table comprizing of include structures. Example: WCFC_GIL_COMPROP.
* Fix error "Object type TABU is not supported"
* Fix date format incorrect during serialization
* Fix /data/ serialization package issue
* Commit table content after deserialization
* Cleaning some code
* Rollback code change concerning /data/ folder
Doesn't seem to be necessary in the end...
* Renamed variable <tab> to <lt_tab>
* Fix ASSERTION_FAILED table content deserialization
Issue https://github.com/abapGit/abapGit/issues/5585
Co-authored-by: Lars Hvam <larshp@hotmail.com>
In case an objects originates from a different system (`<> sy-sysid`), an icon will be shown after the object. On hover, you can see the id of the original system.
Closes https://github.com/abapGit/abapGit/issues/3865
abapGit should support systems without SAP_BW component. Therefore, references to BW data types have to be replaced by generic types and BW classes have to be replaced by dynamic calls.
Follow-up to #5556Closes#5565
When the "Activation Popup" is turned off in "Personal Settings", any errors during activation will lead to "Activation cancelled. Check the inactive objects" which is not very helpful.
The change will add the errors to the abapGit log.
It will also handle the special case when activation of includes leads to error "Include is used in multiple main programs" (EU 404). In such case, you can turn on the activation popup and repeat the abapGit process successfully.
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Properly ignore files during deserialize
Closes#5426
This moves the ignore logic from `zcl_abapgit_files_status->prepare_remote` to an option of `zcl_abapgit_repo->get_files_remote`. Deserialize can then ignore the files already when getting them via `get_files_remote`.
PS: Required for https://github.com/exercism/abap/pull/82
* Update zcl_abapgit_repo.clas.abap
* Update zcl_abapgit_repo.clas.abap
Co-authored-by: Lars Hvam <larshp@hotmail.com>
Co-authored-by: Christian Günter <christianguenter@googlemail.com>
* Folder logic "mixed"
Introduces a new folder logic named `mixed` which combines `prefix` and `full`. The root package name will be used as prefix for all sub-packages but the package names are *not* concatenated recursively. This will allow for using significantly logic package names.
Also includes several new unit tests especially for nested packages which had not been tested before.
Closes#5410
Todo: Update docs
* Add constant
* Add options to UI
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Fix proposal for issue #5347: added support for 'TYPE REF TO DATA' DDIC data elements as components in DDIC structures
* Fix proposal for issue #5347. Added support for 'REF TO DATA' DTEL DDIC element residing in DDIC structure
* Fix proposal for issue #5347, added support for 'TYPE REF TO DATA' DDIC data element residing in DDIC data structurees
* REF TO DATA for DDIC element support (#5347)
* No error if ddic type has warning (abapGit#5361) during import
* Update zcl_abapgit_objects_activation.clas.abap
* Fix for (abapGit#5361). Warnings during DDIC objects activation shouldn't be considered as error but will be shown as 'yellow' messages after activation
* Fix for (#5361).
Warnings during DDIC objects activation shouldn't be considered as error but will be shown as 'yellow' messages after activation
Co-authored-by: Lars Hvam <larshp@hotmail.com>
- Eliminate flashing of progress bar during deserialize
- Updated description for deserialize steps
- Add steps to log (see below)
Co-authored-by: Lars Hvam <larshp@hotmail.com>
When serializing objects in parallel threads, it can happen that there are not sufficient system resources available (free dialog processes). In this case, abapGit can run into error "RFC task <task name> already open". This is caused by reusing the same task name in subsequent tries to serialize an object.
The correction appends a sequential number to the previous task name so each try will result in a unique task name.
Closes#5224.
PS: This does not fix any resource issues but should prevent the error. It will lead to wait situations and longer processing, however.
* Don't include XML when serializing AFF
Avoids output of metadata XML when serialized object contains JSON (ABAP file format).
Preparation for #5126
PS: Contains new and updated unit tests
* Rename is_json_metadata
* CP
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Repo, Repo Online, File Status
* Stage Logic
* Adjustments
* abaplint
* abaplint
* abaplint
* diff between eclipse and vscode
* Centralisation and reuse
* Filter at Get Remote Files instead of Set
* Split Backend And GUI Logic
* abaplint
* abaplint
* Filter Unit Tests
* Missing ,
* remove own type for trobj_name
* Multiple Adjustments
* Rename ZCL_ABAPGIT_REPO_PRE_FILTER to ..._TR
* abaplint
* Replace BAPI_MSG by STRING
* Rename Pre Filter to Object Filter
* Rename Pre Filter also in abap_transpile.json
Co-authored-by: Lars Hvam <larshp@hotmail.com>
There are scenarios where you want to serialize objects differently than abapGit. This exit is called at the end of the serialize process and gives an opportunity to change the content of the serialzed files.
One such scenario would be to automatically pretty-print code. This can be achieved by looping over all `.abap` files and processing them accordingly in this exit.
Closes#5050
Co-authored-by: Lars Hvam <larshp@hotmail.com>