Commit Graph

169 Commits

Author SHA1 Message Date
Marc Bernard
ef8f830734
Refactor hotkey controller (#4990)
- Removed "class analysis logic" from hotkey collection
- Hotkeys are now registered directly in the hotkey controller (similar to asset manager)
- `zif_abapgit_hotkeys->get_hotkey_actions` was changed to instance method and can therefore be redefined in subclasses
- Renamed the controller class to match the interface name

Co-authored-by: Christian Günter <christianguenter@googlemail.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-10-01 08:43:25 +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
Jacek W
5f6b5a73c8
Add "Last changed by" to repo page (#4920)
* Add "Last changed by" to repo page

Proposition for #3267

* Add "Last changed by" to repo page

For #3267
- add "Changed by" also for local items

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-08-30 07:26:02 +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
Christian Günter
f97320f1dc
Create branch: Add existence check (#4794)
Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-05-28 06:09:27 +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
d47c72f429
Remote Settings: Toolbar icon & clean-up (#4724)
* Remote Settings: Clean-up

Continue #4718

- Branch > Switch to PR: removed
- Advanced > Checkout commit: removed
- Advanced > Make Offline / Online: removed menu items and popups
- Advanced > Change Remote: removed menu item and page

* Remove ty_popups

* Remove checkout_commit

* Remove repo_view switch_to_pr

* Remove get_switched

* Add "Edit" icon also for offline

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-04-27 19:03:06 +02:00
Marc Bernard
a225e05950
New "Remote" tab in repo settings (#4705)
* New "Switch" tab in repo settings

This PR adds a new tab to the repo settings which combines all options for switching the repository to a different source:

- Switch between "Online" and "Offline"
- Switch to Branch, Tag, Commit, or Pull Request

Note 1: Value help for URL history has not been implemented yet.

Note 2: None of the existing related menu items have been removed yet.

* Clean-up

* Clean-up

* Clean-up

* Clean-up

* Clean-up

* Change to "Remote"

- rename class 
- add "autosave" for on/offline switch
- change "Switch" to "Remote"

* Update on/offline switch

* Update on/offline switch

* Update zcl_abapgit_gui_page_sett_remo.clas.abap

* Grammar

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-04-25 09:59:00 +02:00
Mike Pokraka
69ac4fd768
Change some masters to main %26 remove unused parameter (#4710)
Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-04-19 17:15:47 +02:00
Marc Bernard
a68cbbd5ce
Refactor "Background Mode" to HTML Form (#4663)
* Refactor "Background Mode" to HTML Form

ref #4171

- Moved "Background Mode" from "Advanced" menu to "Repo Settings"
- Changed Bckg Setting and Bckg Run to new HTML pages

* Add back_toolbar
2021-03-24 12:50:53 +01:00
Lars Hvam
11fd111572
move perf test option to new repo (#4645)
* move perf test option to new repo

Moving the performance test option to separate repository,
https://github.com/abapGit/performance-test

I guess this feature is not used very often, it will reduce the overall code size, and instead of refactoring these popups to HTML they can stay ALVs in the new repo

* fixes
2021-03-17 07:12:59 +01:00
g-back
72f34f5bdf
Refactor "Object to Files" to html form (#4623)
* start conversion from popup to html form

* replace magic with constants

* revert label

* restructure to gui component


modify export object logic

* adjust whitespace

* remove test_changed_by functionality

* remove popup_object

Co-authored-by: Goran Back <g.back@geringhoff.de>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-03-12 12:31:17 +01:00
Christian Günter
011dfc6590
Distinguish repo and file diffs to fix d-hotkey (#4591) 2021-03-03 05:30:21 +01:00
Alexander Tsybulsky
3df4863feb
LXE langs refactoring (#4494)
* main refactoring part

* linter fix

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-03-01 07:02:04 +01:00
Lars Hvam
fc3fbbaba8
remove install abapgit option from debug page (#4501)
* remove install abapgit from debug page

* fix
2021-02-11 06:51:21 +01:00
Marc Bernard
31a550db0f
Refactor I18N settings (#4423)
* Refactor I18N settings

- Consolidate I18N parameters into a structure and pass it to xml and serializer classes (#4415)
- Continue change of terminology (#4043)

* Remove changes to serializer class

* Main lang

* DSYS

* OTGR

* Repo view

* Main langu

* Repo view %26 stage

* Serialize

* Settings

* Repo view

* Defs

* Stage

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-01-19 14:29:09 +01:00
Marc Bernard
2e476eb7b2
Dialogs: HTML forms for repo settings (#4384)
* Dialogs: HTML forms for repo settings

This moves the repo settings to HTML forms. The settings are split into three pages:
- Repository settings (ie abapgit.xml)
- Local settings
- Infos

* Lint

* Infos > Stats

* Infos > Stats

* Infos > Stats

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-01-08 13:09:37 +01:00
Marc Bernard
ca0ff368c3
Remove obsolete late_deser from metadata (#4243)
* Remove obsolete late_deser from metadata

Final part to remove late_deser flag. Solution remains compatible with old bridge class which still uses the flag.

* Call

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2020-11-25 09:59:33 +01:00
Marc Bernard
82668de47b
UI: New pages for global and personal settings (#4192)
* Dialogs: New pages for global and personal setting

Redesign of abapGit settings using HTML forms. Two functional changes to old settings page:
- "Development Internal Settings" are only visible when using the developer version (not in standalone program)
- "User-specific hotkey settings" are not available anymore. The default hotkeys continue to work as before.

Global/Personal settings can be reached using hotkeys "x" and "y".

* Lint

* Hide button

* Change to top menu

* Remove old page

* Remove old page

* fix links

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2020-11-23 08:24:17 +01:00
Marc Bernard
e93cbc5a1f
Move ty_deserialization, ty_step_data, ty_repo_ref_tt (#4181)
* Move ty_deserialization, ty_step_data

Remove dependencies from `zif_abapgit_definitions` (see https://github.com/abapGit/abapGit/issues/4179)

* Move to interface

* Move ty_repo_ref_tt
2020-11-16 08:34:29 +01:00
Lars Hvam
95e427b970
Move type ty_seocompotx_tt (#4168) 2020-11-12 14:29:42 +01:00
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
Lars Hvam
e35df57646
Change TY_SVAL_TT location (#4155) 2020-11-10 14:21:42 +01:00
Marc Bernard
666dfbda66
UI: Unify rendering of branch, package, transport, user names (#4097)
* UI: Unify rendering of branch, package, user names

Branch name was already rendered "boxed with a leading icon". The same is now done for package and user names.

See `zcl_abapgit_gui_chunk_lib->render_branch_name, render_package_name, render_user_name`.

Closes #4059

* Lint %26 transport

* Unknown user

* Transport css

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2020-10-30 10:13:09 +01:00
Frederik Hudák
888bbcb27e
Disable sorting for action column (#4087)
* Disable sorting for action column

* abaplint

* Revert renamed methods
2020-10-28 12:23:00 +01:00
mariusraht2
a4172c6acc
ZCL_ABAPGIT_SERVICES_GIT: Add new method checkout_commit to let the user check out commits (#4076)
* Implementation

* abapLint: Omit exporting

* Omit obsolete variables

* Add caller for checkout_commit

* Extend hash column for 1 character

* Add reset_remote to set_sha1

* Merge branch 'master' into add_checkout_commit

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2020-10-28 11:08:39 +01:00
Marc Bernard
ba0c1257c8
Fix state calculation for deleted objects (#4084)
* Fix state calculation for deleted objects

In case objects are deleted locally or remotely, abapGit now compares against the last known state (checksum). 

Closes https://github.com/abapGit/abapGit/issues/4030

* Added test case

Covers known local and remote states

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2020-10-28 06:57:27 +01:00
mariusraht2
90b0f9fae5
upload_pack_by_commit: Be able to get remote objects by any commit hash (#3836)
* Create pull.yml

* Update zcl_abapgit_git_transport.clas.abap

* Update zcl_abapgit_git_transport.clas.abap

* Update pull.yml

* Update pull.yml

* Update zcl_abapgit_git_transport.clas.abap

* Delete pull.yml

* Update zcl_abapgit_git_transport.clas.abap

* Rename upload_pack to upload_pack_by_branch

* Renamed missed references

* Introduce new method upload_pack_by_commit

* abapLint: Removed forbidden pragmas/comments

Forbidden pseudo comment
Forbidden pragma

* Replaced numc2 by n length 2

* Removed unneccessary changes of pretty printer

* Removed restriction of deepen_level

* N alone is of length 1 and not numeric

* abapLint

* Remove branch name

* Merge redundant source code into upload_pack

* Make upload_pack private

* abapLint

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

* Update src/git/zcl_abapgit_git_transport.clas.abap

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

* Omit receiving

* Omit exporting

Co-authored-by: mariusraht1 <mariusraht+1@gmail.com>
Co-authored-by: pull[bot] <39814207+pull[bot]@users.noreply.github.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>
2020-10-13 15:58:39 +02:00
Marc Bernard
9672f5b030
Adjust name prefix for types (#3991)
* Part 1

* Part 2

* Part 3

* Lint

* Part 5

* Part 6

* Part 7

* Part 8

* Part 9

* Enforce type naming prefix

All types need to start with TY_...

* Fix local types
2020-10-07 08:54:15 +02:00
Fabian Lupa
b7d318d2e9
Add button to launch IEChooser.exe on Windows (#3922)
* Add button to launch IEChooser.exe on Windows

* Fix CASE statement

* Determine iechooser.exe path using system directory

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2020-09-23 12:31:01 +02:00
g-back
c05af1163f
XML Refactoring: zif_abapgit_object et al. (#3895)
* change xml references

* change xml reference, remove type definition


deleted type already exists in zif_abapgit_definitions

* change XML references

* change indentation

* fix indentation

* fix ident pt. 3

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2020-09-17 17:24:32 +02:00
Lars Hvam
42a532b9eb
reduce usage of ddic types (#3859)
* add SAP_BOOL as forbidden void type

* reduce

* Update abaplint.json

* sychar10

* sylangu

* Update abaplint.json
2020-09-10 15:30:25 +02:00
Fabian Lupa
dc5725b49c
Add performance test (#3847)
* Add performance test

* Fix some linter errors

* Refactor free selections to reduce method length

* Performance test add title to result ALV

* Attempt downport

* Downport

* Pretty Printer VS abaplint

* Undo more changes done by pretty printer

* Adjust performance popup title and ALV layout

* Move free sel dialog to global for abapmerge

* Move some type definitions for abapmerge

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2020-09-08 10:39:20 +02:00
Lars Hvam
a16f6f3d17
Cleanup, remove unused TYPEs (#3824) 2020-09-01 16:29:53 +02:00
Marc Bernard
af5b898a37
Refactor branch constants (#3784)
* Branch constants

* Refactor branch constants

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2020-08-24 11:25:46 +02:00
Marc Bernard
5a56166d6d
Activate objects without popup (#3725)
* Activate objects without popup

* Activate objects without popup

* Lint

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2020-08-13 08:55:10 +02:00
Marc Bernard
0ea7b702ce
Refactor and enhance OTR support (#3681)
* WDYN: Fix missing texts

Texts were missing if more than one concept existed per WebDynpro component. Also fixes unit tests which were not working properly before and adds anew test.

* Pretty print

* Refactor and enhance SOTR support

Now supports all objects that use OTR: CLAS (LIMU/CPUB), ENHC, ENHO, ENHS, ENSC, WAPA (LIMU/WAPP) WDYA, WDYN (LIMU/WDYV), WEBI

* Lint

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2020-08-09 08:41:47 +02:00
Frederik Hudák
d49d0656b0
Top menu improvements (#3590)
* Use icons, add back menu to repo show page

* Event handling

* Abaplint

* Add menu to tutorial page

* Lint

* More icons

* Update tutorial, reorganize button code

* Move icon css

* Fix error

* Fix menu
2020-07-09 09:12:58 +02:00
Alexander Tsybulsky
2699e2d513
fix repo palette (#3580)
* fix repo palette

* fix page_view_repo after rebase

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2020-07-07 14:59:31 +02:00
Marc Bernard
a55011894e
Condense messages in case of package move (#3529)
* Update zif_abapgit_definitions.intf.abap

* Condense messages in case of package move

* Improve msg alignment

Co-authored-by: Frederik Hudák <frederik.hudak@sap.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
2020-06-21 10:09:58 +02:00
Rakshith Gore
14b9c7d864
Deserialize postprocess (#3461)
* Update 3 objects

* Update zcl_abapgit_exit.clas.abap

Pretty printer didnt work in JAVA GUI, so had to manually change the file

* IS_STEP as input parameter

* Issue in JAVA based GUI

Pretty printer not working for class name in implementation

* Move TY_STEP_DATA to ZIF_ABAPGIT_DEFINITIONS

* try moving ty_deserialization_step

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2020-06-08 06:05:49 +02:00
Lars Hvam
aec7468aad
Type Hunting (#3414)
* Type Hunting

* update

* update

* flag
2020-05-26 05:55:28 +02:00
Lars Hvam
bbba9a612d
remove self prefixes (#3406) 2020-05-24 10:27:42 +02:00
larshp
2d168e170b move stage structures to interface #3377 2020-05-21 07:25:54 +02:00
Frederik Hudák
3335317278
Remove page playground (#3375)
* Remove page playground

* Remove constant
2020-05-20 18:28:03 +02:00
Alexander Tsybulsky
c056076170
Gui refactoring 2 (#3338)
* hotkeys refactoring: draft logic

- new interfaces
- gui services binding
- move render to zcl_hotkeys
- move global hotkeys to hotkeys class
- remove unnecessary stuff from gui_page

* implement zif_abapgit_gui_hotkeys in rel.pages

* settings page draft

* remove zif_abapgit_gui_page_hotkey

* linter fixes

* finalize rendering logic

* finalize settings

* linter fix

* sorting tweak

* fix abapgit_full work

Co-authored-by: Christian Günter <christianguenter@googlemail.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
Co-authored-by: Frederik Hudák <frederik.hudak@sap.com>
2020-05-08 10:26:54 +02:00
mariusraht2
b91043a270
Refactor Popup (#3310)
* Create pull.yml

* Update zcl_abapgit_git_transport.clas.abap

* Update zcl_abapgit_git_transport.clas.abap

* Update pull.yml

* Update pull.yml

* Delete pull.yml

* Refactored popup logic

Related to #3040

Refactoring of popup logic/calling to be able to reuse it as commit list.

* Removed reset flag

Removed reset flag cause it doesn't belong to this PR (will be readded later)

Co-authored-by: pull[bot] <39814207+pull[bot]@users.noreply.github.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
2020-05-04 08:36:24 +02:00
Jaime Rodriguez Capote
fce71de4d1
Use constants for Y/N/P (#3291)
* Use constants

* Pretty Printer
2020-04-05 10:55:24 +02:00
Jaime Rodriguez Capote
27ac61e95d
Apack dependencies (#3285)
* Support APACK dependencies

Check installed apack package dependencies for current repository
Display a popup with dependencies

* abaplint checks

* abaplint checks

* abaplint checks

* Popup only when dependency not met

* abaplint checks

* abaplint checks

* Optimization

* abaplint checks

* abaplint checks

* Fix typo "dependeNcies"

* Remove address from dependency check

* Dependencies popup title

* Dependencies popup enhanced

* EXCEPTION column replacing MET
* Enable Git URL hiperlink

* APACK doc - Version dependency support

* Dependencies version check support

* abaplint checks

* abaplint checks

* Version utils

* fix syntax warning

* move set_dot_apack to protected

Co-authored-by: larshp <larshp@hotmail.com>
2020-04-05 08:57:59 +02:00