Commit Graph

120 Commits

Author SHA1 Message Date
Marc Bernard
927587880f
Remove UI dependency from test (#5298) 2022-01-30 16:34:20 +01:00
Marc Bernard
5e3e5b60e4
Fix status for new sub-packages (#5278) 2022-01-22 08:57:08 +01:00
Marc Bernard
1a31eb3f2f
Correct task name parallel processing (#5269)
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.
2022-01-14 11:47:47 +01:00
Lars Hvam
d7db1e3079
add unit test xslt_before_prog (#5268)
ref #5262
2022-01-13 09:32:39 +01:00
Marc Bernard
53bd8c3fe5
Don't include XML when serializing AFF (#5254)
* 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>
2022-01-12 16:54:33 +01:00
Marc Bernard
074ae5a69b
Refactor: Calling batch input (#5252)
* Refactor: Calling batch input

Standardizes calling batch input API and handling errors.

* Fix indent

* Add new window

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2022-01-10 09:27:17 +01:00
Frank Müller
b67c06dc2d
Pre Filter Backend Logic (#5226)
* 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>
2022-01-04 07:35:57 +01:00
Lars Hvam
fd401956b8
Refactoring: Prioritization/sequence of deserialization (#5198) 2022-01-03 10:55:06 +01:00
Lars Hvam
7d5d1cabca
file status, bugfix (#5220)
closes #5219
2021-12-14 11:56:26 -05:00
Marc Bernard
c7e4af3be2
Add user exit for serialize postprocessing (#5194)
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>
2021-12-11 07:30:50 +01:00
Lars Hvam
97d8723b6f
prioritize_deser, add unit tests (#5193)
* prioritize_deser, add unit tests

* more tests

* change to string

* update to latest npm packages, and more unit test
2021-12-10 13:46:32 -05:00
Marc Bernard
b46c8b4599
Refactor: Consolidate front-end classes (#5172)
* Refactor: Consolidate front-end classes

There's no need for two "front-end classes". Moves all of ZCL_ABAPGIT_GUI_FUNCTIONS to ZCL_ABAPGIT_FRONTEND_SERVICES. Now all front-end calls are nicely together.

No functional change, some method reordering. 

Ref #2510, #5145

* Add missing interface

Co-authored-by: Christian Günter <christianguenter@googlemail.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-12-09 06:49:43 +01:00
Christian Günter
451ab7cadf
WebGUI: Disable jump (#5184)
Co-authored-by: Christian Günter <christian.guenter@emineo.ch>
2021-12-06 16:13:24 -05:00
Marc Bernard
4ecbc30a2e
Add DRUL and DTDC to mass activation (#5156)
* Add DRUL and DTDC to mass activation

DDIC mass activation supports Dependency Rules (DRUL) and Dynamic Cache (DTDC) object

* Len

* Update abap_transpile.json
2021-11-22 13:30:19 -05:00
Lars Hvam
4301d3e8c8
no chained assignment (#5140)
* no chained assignment

* bugfix
2021-11-19 16:19:27 +01:00
Marc Bernard
53951dc2ad
Remove more unused variables (#5112)
* Remove more unused variables

* rm

* rm

* rm

* rm

* needed for refactor later

* rm

* Needed for callback

* rm

* rm

* Pragma

* rm enho

* rm

* rm

* Setting unused_variables

* Revert unused_variables setting

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-11-09 16:22:29 +01:00
Marc Bernard
ebf397b0f0
Fix regression for ADT Jump (#5120)
* Fix regression for ADT Jump

Regression from #5114 . Closes #5119
2021-11-07 14:53:53 -05:00
Marc Bernard
a37cf58e01
Refactor: Jump to Object Logic (#5114)
* Refactor: Jump to Object Logic

The goal is to greatly simplify the code to jump to an object, and to separate UI and object layers some more.

This PR introduces GUI Jumper (`zcl/if_abapgit_gui_jumper`), which covers all generic options to show an object. It tries the following options in order:
- ADT (if enabled)
- Workbench with line number
- Workbench without line number
- Transport System (new)

Only if all fail, abapGit will call the object-specific handler. 

Next steps:

- Remove `jump_adt` and `jump_se11` from `zcl_abapgit_objects_super` and replace by GUI Jumper
- Remove almost all object-specific jump handler since they are covered by GUI Jumper now

* Add class

* Lint

* Misleading name
2021-11-07 08:15:08 +01:00
Frank Müller
1ed9ca21e9
Performance Optimization with Namespace (#5097) 2021-11-05 05:35:36 +01:00
Christian Günter
53343a98d6
Files: Introduce secondary keys (#5101)
Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-11-05 05:32:39 +01:00
Derby
53ddddb8e3
bug in zcl_abapgit_file_status->check_namespace (#5069)
Fix regular expression

Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
2021-11-01 14:57:06 -04:00
Marc Bernard
45806c5a95
Refactor serializer class (#4994)
* Refactor serializer class

- Consolidate i18n parameters
- Move determination of translation languages into serializer class
- Pass translation language setting when parallel processing (was a bug)

* Lint

* Add unit tests

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-10-25 16:01:40 +02:00
Alexander Tsybulsky
65701dbcc8
pull on package reassign (#4999)
Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-10-13 06:12:19 +02:00
Marc Bernard
0379bc6d11
Change Package Assignment (#4980)
* Change Package Assignment

Previously, if an object was assigned to another package (but not changed otherwise), AG would delete and re-create the object. This was also visible in the "Selective Pull" popups:



The new process is smarter and detects such changes. It re-assigns the package (via a TADIR change) and avoids dropping and re-creating. The package overwrite popup is also avoided (it will still appear if the object itself was changed, too):

* Better icon

* Add unit test

Co-authored-by: Lars Hvam <larshp@hotmail.com>
Co-authored-by: Alexander Tsybulsky <sbcgua@users.noreply.github.com>
2021-10-05 06:02:20 +02:00
Marc Bernard
a72d3314cb
Remove exception from changed_by (#4952)
Simplify some code since `zcl_abapgit_objects=>changed_by` does not raise any exceptions.

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-09-16 09:44:05 +02:00
Marc Bernard
b331de6bc7
Naming of class constants (#4945)
* Naming of class constants

This is in preparation of enforcing a naming convention for constants in classes/interfaces. At the end, the following lint rule shall be set:

```json
    "class_attribute_names": {
      "constants": "^C_.+$",
...
    },
```

After this, the only remaining constants not following this rule are in `zcl_abapgit_version`.

* Update zif_abapgit_dot_abapgit.intf.abap

* Update zcl_abapgit_gui_chunk_lib.clas.abap

* Update zcl_abapgit_gui_router.clas.abap

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-09-14 16:47:48 +02:00
Marc Bernard
6b81d7d958
Improve message for subpackage errors (#4911)
Clarify error and resolution options in case subpackage already exists in system but is not included in pack hierarchy of repo root package.

Closes #4904
2021-08-27 12:58:12 -04:00
Lars Hvam
329fd9dc0e
interface and factory for ZCL_ABAPGIT_PERSIST_SETTINGS (#4882)
the old get_instance() method in ZCL_ABAPGIT_PERSIST_SETTINGS has been moved to a method in zcl_abapgit_persist_factory, plus interface added. Added to persist injector
2021-08-03 15:13:16 +02:00
Lars Hvam
753c2f5d21
Do not read TADIR-KORRNUM (#4825)
KORRNUM is misused for calculating the serialization sequence
2021-06-07 14:49:11 +02:00
Marc Bernard
887e7dd332
Offline repo: "Compare via RFC" feature (#4789)
* Offline repo: "Import via RFC" feature

Adds option to **offline** repositories for importing a repo via an RFC connection from another SAP system. It's a shortcut for doing "Export ZIP" in one system, and "Import ZIP" in the other.

Closes #4784

Pre-requisite: abapGit develop version (with this change) is installed on remote SAP system. 

Note: The general recommendation is to use **online** repositories and a git server for comparing and synchronizing systems.

* Lint

* Create guide-import-rfc.md

* Langu

* Langu

* Write-protect only

* Compare

* Compare

* Compare

* Compare

* Git

* Update docs/guide-import-rfc.md

Co-authored-by: Lars Hvam <larshp@hotmail.com>

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-06-04 15:09:09 +02:00
Marc Bernard
e2a156a326
Replace deprecated LANGU type (#4815)
* Replace deprecated LANGU type

Replace with `sy-langu` and update abaplint rule

* Replace langu

* Add langu to void types

* Replace table of langu
2021-06-02 08:04:05 +02:00
Marc Bernard
ad244abacd
Terminology: Inclusive Language - Part 6 (#4791)
* Terminology: Inclusive Language - Part 6

Change remaining variables and switch setting to main_language. 

Finally closes #4043

* Add todo

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-05-28 13:15:00 +02:00
abap-weasel
30674e1e69
Release serialization resources (fixes #4774) (#4775)
* Release serialization resources (fixes #4774) 

Release serialization resources to prevent dump #4774 for export of large packages

* Free files after parallelization

* transfer files one by one

* Update src/objects/core/zcl_abapgit_serialize.clas.abap

Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>

* fix lint, missing fs declaration

* index access on delete lt_found

* Update src/objects/core/zcl_abapgit_serialize.clas.abap

Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>

* cleanup: index variable not required

* rollback to original APPEND LINES

Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-05-20 11:33:41 +02:00
Marc Bernard
c2e9e58319
Enhance "Force Pull" to become "Selective Pull" (#4733)
* Enhance "Force Pull" to become "Selective Pull"

With this PR you can now peform a selective pull. Yay!

- Changes "Force Pull" to show *all* changed objects in the usual "Overwrite Popup". This allows you to select individual objects to be pulled no matter if they were changed locally or remotely.
- Does *not* change the regular "Pull" logic

Closes #413, #4282

* Combine delete and overwrite popups

* Add icons to abaplint.json

* Change if to case

* Add icons to abaplint.json

* Enhance UTs

* show_icon

* Show icon

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-05-20 06:19:00 +02:00
Marc Bernard
4d9d7fb37e
Remove adjust_namespaces (#4760)
* Remove adjust_namespace

Method is obsolete since namespace of object is already adjusted in `zcl_abapgit_filename_logic=>file_to_object`

* Remove adjust_namespace

* Remove bracket

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-05-14 10:55:46 +02:00
Lars Hvam
212fcb779e
LOG: remove RC field (#4746)
closes #4634
2021-05-09 10:58:31 +02:00
Marc Bernard
9f94f339aa
INTF: Refactor to fix "permission error" (#4673)
* INTF: Refactor to fix "permission error"

Implements interface deserializer the same way as the class deserializer.

Closes #4672

* Remove types

* Class exists

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-05-09 10:40:33 +02:00
Lars Hvam
5e789531e0
Remove return code for parallel serializer (#4747)
closes #4586
2021-05-05 07:32:38 +02:00
Marc Bernard
41b301cc11
Fix dump in case of package name conflicts (#4704)
Replaces assert with error message (#4620)
2021-04-16 10:05:14 +02:00
Marc Bernard
f55cdcc253
Refactor filename logic (#4697)
Combines `zcl_abapgit_file_status=>identify_object` and `zcl_abapgit_object_files=>filename` into new class `zcl_abapgit_filename_logic`. This class provides `file_to_object` and `object_to_file` conversion logic similar to what `zcl_abapgit_folder_logic` does for packages and git folders. 

Also includes unit tests which were missing for the old methods.

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-04-15 16:14:53 +02:00
Marc Bernard
f18a8ee82b
Terminology: Inclusive Language - Part 5 (#4702)
* Terminology: Inclusive Language - Part 5

Change of terminology (#4043)

- Replace `get_master_language` with `get_main_language` and remove it

* File Status

* Jump

* Language

* Main language

* Main language
2021-04-15 08:32:09 +02:00
Marc Bernard
23f62b993f
ENHx: Change order for deserialize (#4698)
Enhancements might refer to other objects of the repo so create them after the other objects.

Example: Repo includes enhancement for an exception class. Therefore, the exception class has to be deserialized before the enhancement.
2021-04-13 06:39:34 +02:00
Marc Bernard
eb8812eaac
Show "data" by object in repo view (#4689)
* Show "data" by object in repo view

Continuing on #3441

- "data" is now shown as `TABU` `<table>` in the repo view

* Remove get_item

* Add cmnt

* Update src/objects/core/zcl_abapgit_serialize.clas.abap

Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>

* Update zcl_abapgit_serialize.clas.abap

Co-authored-by: Lars Hvam <larshp@hotmail.com>
Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>
2021-04-12 14:53:09 +02:00
Marc Bernard
631d0fdccb
Refactor status calculation (#4679)
* Fix dump due to package name conflicts

Raises an error message instead of dumping

Closes #4620

* Split calculate_status

* Refactor only

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-04-10 11:26:31 +02:00
Marc Bernard
56a0dca134
Refactor: Objects Class (#4664)
* Refactor: Objects Class

Splits `zcl_abapgit_objects` into smaller classes

Moves the following methods and related test cases:

`zcl_abapgit_objects_check`
- `deserialize_check`
- `warning_overwrite_find`
- `warning_package_find`
- `checks_adjust`
- `warning_overwrite_adjust`
- `warning_package_adjust`

`zcl_abapgit_files_deserialize`
- `files_to_deserialize`
- `filter_files_to_deserialize`
- `prioritize_deser`
- `adjust_namespaces`

* PP

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-03-27 10:46:38 +01:00
Marc Bernard
73dde20557
Add warning if namespace is not modifiable (#4669)
* Add warning if namespace is not modifiable

Closes #4648

* If

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-03-26 09:11:35 +01:00
Marc Bernard
0c2f060445
Fix namespace check (for DOCT objects) (#4671)
Improve regex to avoid conflict with object names that contain multiple `/`

Closes #4670
2021-03-26 06:45:48 +01:00
Jānis B
59479570c5
Change DDIC activation mode (#4503)
* Fixes DDIC activation

The changes mimic the behavior of CTS Activatin Job as of 7.40 SP 23

* fixes Activation of dependant DDIC (#4496)

The change attempts to mimic behaviour of SAP CTS DDIC Mass Activation Job

* Revert to DDMODE = 'O'

Reverts to activation mode "in original" system; adds "forced activation" (FRCACT = abap_true)

* restore variable definitions

* and Pretty Printer

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-03-22 13:12:49 +01:00
Mike Pokraka
bb0591f12e
Update unit test to match changed message (#4631) 2021-03-12 07:02:25 +01:00
g-back
71c4849ae5
Minor Fixes (#4627)
* remove exception from signature, remove comment

* change search help, try fieldname first

* enable lang switch when multiple tcodes are assgnd
2021-03-11 14:51:48 +01:00
Alexander Tsybulsky
17eac7b6c3
Strip XML details user exit (#4599)
* exit draft

* call exit

* linter fix

* PRE_CALCULATE_REPO_STATUS docs

* settings UI

* wire status calculation and repo settings

* uppercase

* diff rendering fix

* adjust docs

* adjust docs

* Remove settings

* more docs adjustments

* pass repo meta data into the exit

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-03-06 09:35:35 +01:00
yellappam
09353951eb
Group unsupported object type messages (#4589)
* Group unsupported messages per object type

When number of unsupported objects increase in a package, user needs to scroll through the long list of messages. This change groups messages per object type reducing the number of messages. Also, the filtering before serialization is good in terms of effective work process utilization( in parallel mode ).

* Replace LINE_EXISTS with READ TABLE

* Cache the supported object types

* Show object name 

If there is only one object name for the unsupported object type, show the name.

* Spelling: "object(s)" to "objects"

Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-03-03 05:36:21 +01:00
Marc Bernard
7e0b75d2a8
Deserialize: Commit changes before activation (#4509)
* Deserialize: Commit changes before activation

Some objects (like `prog` or `intf`) are deserialized as inactive objects i.e. uncommitted changes. Usually, these changes are committed to the database after the activation process (end of the session). However, if there are any errors during activation, an exception is raised which will automatically do a `rollback work`. 

This change will make sure that inactive objects are preserved even if the activation fails. One can then analyze the inactive objects, make necessary corrections, and activate them manually.

Closes #4500

* Replace with standard function

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-02-14 09:29:50 +01:00
Marc Bernard
73576ee60e
Improve error messages (#4472)
* Improve error messages

Pass T100 messages to UI/log

* T100 errors

* APACK

* OO

* DEVC

* DRUL

* DTDC

* SRVB

* OBJS

* Program

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-02-03 16:31:55 +01:00
Marc Bernard
0cd25ce331
SICF: Fix regression (#4481)
Removed code is part of `adjust_objects` already (https://github.com/abapGit/abapGit/pull/4426)
2021-02-02 07:31:17 +01:00
JustACasual
bcbc3d527d
I18N: LXE Translations (#4415)
* Issue 2424

https://github.com/abapGit/abapGit/issues/2424

* Issue 2424

https://github.com/abapGit/abapGit/issues/2424

* Update src/objects/zcl_abapgit_object_fugr.clas.abap

Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>

* Fixing LINT issues

* Fixing LINT issues

* TABL, default ROWORCOLST on deserialize (#4430) (#4)

* Fix for #4425

* Remove whitespace at end of line

Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>

* Remove whitespace at end of line

Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>

Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>

Co-authored-by: DerGuteWolf <DerGuteWolf@users.noreply.github.com>
Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>

* Centralize LXE functionality

* Fix FUGR LXE

* delete issue reference comments

* Delete issue reference comments

* Remove Aliases for LXE types

* Review Changes

* Copy from #4452

Integrate changes from #4452 into #4415

Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
Co-authored-by: DerGuteWolf <DerGuteWolf@users.noreply.github.com>
Co-authored-by: Sebastian Koitka <sebastian.koitka@dematic.com>
Co-authored-by: Marc Bernard <marc@marcbernardtools.com>
Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
2021-01-31 10:36:28 +01:00
Marc Bernard
c48c030a0c
Fix status calculation on package move (#4447)
* Fix status calculation on package move

If an object is moved to another package *and* changed, the status was "blank". Now the object status is properly shown as "added/deleted". Also the `packmove` flag is *not* set anymore since a simple `tadir` change would not be sufficient. 

Extended unit test to cover this case.

* Split test method

* pretty

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-01-25 13:55:21 +01:00
Marc Bernard
40efc567f6
Automatic creation of top repository package (#4431)
* Automatic creation of top repository package

When adding a repository, it is not necessary anymore that the top SAP package assigned to the repository exists. Just enter a package name and clone (works for offline, too). 

The initial diff will now show that the top package exists remotely only. Therefore, when pulling, you will not get the "confirm overwrite package" popup anymore. Yippie!

* Typo

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-01-23 10:11:54 +01:00
Marc Bernard
cd3b29aac1
NSPC: Add support for namespaces (#4426)
* NSPC: Add support for namespaces

Part 2 of #835

If a repo contains any namespaced object, then this PR will make namespaces part of the repository. So far, serializing and updating an existing namespace is supported.

abapGit can not (yet) create the namespace automatically. This will require a bit of refactoring which will then also support creating the top repo package automatically. Coming soon. 

See readme of test case https://github.com/abapGit-tests/NSPC

* Refactor build

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-01-23 10:05:58 +01:00
Marc Bernard
7d4773ca23
NSPC: Add warning if namespace does not exist (#4420)
* NSPC: Add warning if namespace does not exist

Part 1 of #835

* Limit to xml files

* Unit test

* RC

* Regex

* Refactor checks into methods

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-01-18 17:55:34 +01:00
Marc Bernard
a824eef662
Prevent staging of duplicate files (#4403)
* Prevent staging of duplicate files

Since objects cannot exist in multiple packages, the staging page is now checking the selected files to prevent the resulting repo from containing an object multiple times.

If an object is moved to another SAP package and the corresponding files are seleted to be added to the repo (for the new package), then the files must also be removed from the repo (from the old package). If not, an error is raised.

* Remove other changes

* Update file status

* Extend unit test

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-01-17 09:28:54 +01:00
Lars Hvam
db6db7cf79
remove more unused variables (#4413) 2021-01-15 17:22:51 +01:00
Lars Hvam
690da4e51f
delete some unused variables (#4411)
* delete some unused variables

* bdef, remove unused vars

* remove some more
2021-01-15 08:31:01 +01:00
Marc Bernard
9ef3f1ee7e
Uninstall ENQU before TABL (#4412)
Lock objects must be uninstalled before corresponding tables
2021-01-15 08:27:48 +01:00
Marc Bernard
231d0c01e6
Fix ignore logic for local files (#4407)
Closes #4405

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-01-13 08:16:04 +01:00
Lars Hvam
889d062e1c
data, basic serialization (#4369)
* data

* refactor ZCL_ABAPGIT_SERIALIZE

* upd

* serializing

* cleanup

* fix

* fix

* rename
2021-01-09 10:50:58 +01:00
Marc Bernard
6b23aaa0fd
Reduce memory consumption during deserialize (#4389)
* Reduce memory consumption during deserialize 

Fix issue with namespace objects

https://github.com/abapGit/abapGit/pull/4357

* Unit test
2021-01-08 11:57:47 +01:00
Marc Bernard
6dfa4eee17
Reduce memory consumption during deserialize (#4357)
* Reduce memory consumption during deserialize

Import of objects required unnecessarily a lot of memory. This was the especially the case during the initial import of repos with large (binary) objects or high number of objects (even if they were not under /src/). 

With this fix, an instance of an object serializer now contains only the files associated with this object (rather than all (!) files of the repo).

* Change path logic

* Comment

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2020-12-30 08:59:41 +01:00
Marc Bernard
e7d7723bd5
Raise error if package is not part of package hierarchy (#4331)
* Raise error if package is not part of package hierarchy

If a package exists locally and remotely, but the local package is not part of the package hierarchy associated with the repo, then an error message will be raised.

The local package must be assigned manually to the package hierarchy before abapGit can process this scenario. 

Note: The assignment is not done automatically, since it's not clear where in the hierarchy the new package should be located.

* lv_msg

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2020-12-28 13:26:45 +01:00
Marc Bernard
46e2dd827b
Package Structure - Part 4 (#4305)
* Package Structure - Part 4

$ABAPGIT_OBJECTS_CORE:

ZCL_ABAPGIT_DEPENDENCIES
ZCL_ABAPGIT_FILE_STATUS
ZCL_ABAPGIT_FOLDER_LOGIC
ZCL_ABAPGIT_OBJECTS
ZCL_ABAPGIT_OBJECTS_ACTIVATION
ZCL_ABAPGIT_OBJECTS_FILES
ZCL_ABAPGIT_SERIALIZE
ZCL_ABAPGIT_TADIR
ZIF_ABAPGIT_COMPARATOR
ZIF_ABAPGIT_OBJECT
ZIF_ABAPGIT_OBJECTS
ZIF_ABAPGIT_TADIR
ZCL_ABAPGIT_SKIP_OBJECTS

$ABAPGIT_OBJECTS_TEXTS:

ZIF_ABAPGIT_LANG_DEFINITIONS

#4253

* ZIF_ABAPGIT_LANG_DEFINITIONS

* Sync

* Sync

* Sync

* Sync

* Move objects

* Sync

* always upload build artifact

* Move type to interface

* Types

* Add package

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2020-12-11 07:50:10 +01:00