Commit Graph

1878 Commits

Author SHA1 Message Date
Christian Guenter
dfb63d16c2 Improved hotkey handling
With this commit the hotkey 'd' for diff always shows the
global diff. Previously only the last file diff was shown.
We changed the implementation so that the first matched href
specified by the hotkey is called.
2018-08-29 12:35:09 +02:00
Lars Hvam
c571e95f61
v1.75.0 (#1873) 2018-08-28 15:02:05 +02:00
Christian Guenter
f167adecd2 Fix layout in merge mode 2018-08-28 08:30:23 +02:00
Christian Guenter
46f32e6422 Longtext serialization for DTEL, DOMA and TABL
This commit adds three new methods to ZCL_ABAPGIT_OBJECTS_SUPER:
- SERIALIZE_LONGTEXTS
- DESERIALIZE_LONGTEXTS
- DELETE_LONGTEXTS
They can be called on demand in concrete object type serializers.

In this commit they were called from DTEL, DOMA and TABL
2018-08-28 08:30:13 +02:00
Christian Guenter
98a393f147 CSS: remove horizontal scrollbar 2018-08-28 08:29:54 +02:00
Eduardo Ferrari Copat
de90a9c1b8 Fixes #1229: Enable SAP GUI for Java settings (#1865)
* Insert initial line before bothsequence and action

* Change settings boolean read to support Java GUI

Standard netweaver and Java GUI netweaver parse differently the checkboxes on HTML pages. This commit consider the value on the checkbox aseither "on" or "X".
2018-08-27 10:04:40 +02:00
Christian Guenter
d3f4584d3a MSAG: implement is_locked 2018-08-27 09:53:31 +02:00
Christian Guenter
d28b0fdc97 MSAG: Serialize longtexts in message classes 2018-08-22 06:45:38 +02:00
Christian Guenter
e394966795 FIX: CLAS is_locked read enque
Read enqueue entries instead of enqueueing
2018-08-22 06:34:32 +02:00
Christian Guenter
97c40c8f8f Fix: Impossible to save a dummy variant for backgr 2018-08-22 06:30:48 +02:00
Marcello Urbani
40fd90b14d Release locks/abapGit on pure BASIS system Issue #1826 (#1850)
* abapGit on pure BASIS system #1826

* fixed spacing

* Added fallback to old FM

* fixed spacing
2018-08-21 10:36:26 +02:00
Marcello Urbani
f35c285605 clean up ZCL_ABAPGIT_OBJECT_CLAS_OLD, #1801 (#1846)
* refactor zcl_abapgit_object_clas

removed dependencies from zcl_abapgit_object_clas_old, moved methods

* deleted zcl_abapgit_object_clas_old
2018-08-21 10:34:55 +02:00
Christian Guenter
fbc4896d65 New user exit create_http_client
With this commit one can implement the new user exit method
create_http_client for custom http client instantiation.
E.g. to use RFC destinations.
2018-08-20 18:27:26 +02:00
Christian Guenter
491306ff41 Fix: hotkey overview close key dynamically 2018-08-20 18:27:04 +02:00
Christian Guenter
98cae2c9fd Introduce global hotkeys
With this commit we are able to define global hotkeys. Which means
that the hotkey is active on all pages. The global hotkeys are
defined in ZCL_ABAPGIT_GUI_PAGE=>GET_HOTKEY_ACTIONS. The first
globally defined hotkey is the hotkey overview with the default
hotkey '?' assigned to it. This was previously hard coded in the js.
2018-08-18 06:57:25 +02:00
Christian Günter
f46e1e1c59 Fix close hotkey overview popup #1833 (#1835)
* Fix close hotkey overview popup

* Add text how to close hotskeys overview
2018-08-17 13:34:09 +02:00
Christian Guenter
d329a2d69f Add switch branch hotkey 2018-08-17 10:47:43 +02:00
Christian Guenter
f0415a22fd More hotkeys
More on page main and code inspector,
plus changed default for settings.
2018-08-17 09:55:09 +02:00
Christian Guenter
e699e7b0c9 Offline repo: make name obligatory 2018-08-17 09:26:55 +02:00
Christian Guenter
5c2a646809 Hotkey overview
After this commit is applied one can open the hotkey overview
with '?'.
2018-08-17 09:26:12 +02:00
Johannes Konings
d25bfaf725 fix some naming conventions
https://github.com/larshp/abapGit/issues/1132
2018-08-17 09:24:22 +02:00
Johannes Konings
c3691622ed fix some naming conventions
https://github.com/larshp/abapGit/issues/1132
2018-08-16 06:32:19 +02:00
Christian Günter
fc1df4b9ee Introduce customizable hotkeys #1728 (#1820)
* Introduce customizable hotkeys

With this commit customizable hotkeys are introduced. They can
be defined in the user specific settings. Currently we support
only one letter keybindigs e.g. 's', 't' or 'x' and no modifiers.

Every page in the UI can decide which actions it offers for the
hotkeys. Therefore we introduce the interface ZIF_ABAPGIT_GUI_PAGE_HOTKEY
with the method GET_HOTKEY_ACTIONS. At this point in time only
the main page offers actions for hotkeys, but the mechanism works
already for all pages. New actions for hotkeys can be defined
easily.

Hotkeys are only available for installed abapGit repositories.
Because we need to detect the classes which implement the above
mentioned interface and it seems that there is no easy way to do
that for local classes. Maybe we can add it later when we know more.

We don't supply default key bindings. So it is totally up to the
user to define them.

* provide default hotkeys
2018-08-16 06:32:03 +02:00
larshp
49ee796fc9 move responsibility for SHA1 calc
move responsibility for SHA1 calculation, in preparation for parallel object serialization move calculation
2018-08-13 18:35:08 +02:00
larshp
6044d3e7b2 move PERSIST_USER behind interface
move PERSIST_USER behind interface

will be moved to instantiate via factory in follow up PR
2018-08-13 18:34:28 +02:00
Lars Hvam
1dbc2195f8
update gitgraph to latest (#1814)
* update gitgraph to latest

* docs: dependencies, update gitgraph to latest
2018-08-13 18:33:45 +02:00
larshp
e3df6fe4c2 PROG: add guard for bad TADIR EIMP entries 2018-08-13 18:33:23 +02:00
Lars Hvam
a83c5cb878
Version 1.74.1 (#1812)
Refactoring
Downport
Descriptions in new online popup
Optimized git object handling
SSST package popup fixed
PARA popup fixed
Package validations
Diff still shows after pushing
TABL field ROWORCOLST cleared
Staging page optimizations
Correct CUA if needed during pull
2018-08-12 09:52:20 +02:00
sandraros
57d28d124b Always correct rs cua internal write errors (#1810)
* correct xml errors of CUA interfaces

Issue error RS_CUA_INTERNAL_WRITE while pulling an old abapgit repository #1807. Same issue as #562 (error RS_CUA_INTERNAL_WRITE) which is solved by correcting manually the XML of the CUA interfaces (fastidious), or by regenerating the XML (but unfortunately sometimes the abapGit repository is from someone else).
Automatically fix this before RS_CUA_INTERNAL_WRITE is called. It's useless having this as a configuration option.

* refactor: extract code to a new method

* Better refactoring of auto correction CUA
2018-08-12 09:42:08 +02:00
Jakub Filak
6f6338bc67 repo: skip missing packages in new repo validation
When we try to add a new online repository and we have a repository
whose package does not exist in abapGit we get a short dump caused
by assert in the method zif_abapgit_sap_package~read_parent of
the class zcl_abapgit_sap_pacakge.

This commit makes sure we skip such repositories because we believe it
does not make sense to prevent us from cloning in these cases.

Thank you Petr Benes <petr.benes@sap.com>!
2018-08-10 07:02:46 +02:00
larshp
273947240c interface and factory for persist_repo 2018-08-10 07:02:30 +02:00
larshp
e9a2d30950 optimize ZCL_ABAPGIT_GUI_PAGE_STAGE
optimize performance in ZCL_ABAPGIT_GUI_PAGE_STAGE, it will now only find changed_by once per item instead of per file #1794
2018-08-09 07:28:25 +02:00
Johannes Konings
efda46d4da TABL ROWORCOLST serialize: Delete value C #1722 (#1791)
* TABL ROWORCOLSTserialize: Delete value C

https://github.com/larshp/abapGit/issues/1722

* Changed IF

https://github.com/larshp/abapGit/issues/1722
2018-08-08 15:06:42 +02:00
Lars Hvam
65657a831b
Change git PUSH and PULL methods to functional (#1803)
* remove branch list from PULL

* change git push and pull to functional methods
2018-08-08 14:59:16 +02:00
larshp
00f94d3f2e 702 downport 2018-08-08 14:58:53 +02:00
larshp
3a78015f1e fix unit test for ZCL_ABAPGIT_GIT_PACK 2018-08-08 14:58:37 +02:00
larshp
91a5e05546 diff still shows after pushing #1797 2018-08-08 07:15:33 +02:00
larshp
e49b404b58 delete some unreferenced variables 2018-08-07 16:01:29 +02:00
larshp
578640f844 pretty print code 2018-08-07 16:01:18 +02:00
Christian Guenter
a1e010c0fc downport 702 2018-08-07 14:54:29 +02:00
Christian Guenter
173351c13f downport 702 2018-08-07 13:46:58 +02:00
Johannes Konings
f214fab73d fix some naming convention
https://github.com/larshp/abapGit/issues/1132
2018-08-07 12:03:21 +02:00
Christian Guenter
0fa4ed299e downport 702 2018-08-07 10:26:57 +02:00
larshp
1f75651f90 validate packages: ignore sub packages if set
validate packages: ignore sub packages if set #1779
2018-08-07 09:31:45 +02:00
larshp
004db9ebc0 fix syntax warnings 2018-08-07 07:30:57 +02:00
larshp
b634f067e2 fix syntax error 2018-08-07 07:27:45 +02:00
Johannes Konings
0a357149a4 PARA Delete without RS_PARAMETER_DELETE
https://github.com/larshp/abapGit/issues/1575
Deletion of PARA caused a popup in FM RS_PARAMETER_DELETE. 
To avoid that, the logic of the FM had to be implemented directly in the delete method.
2018-08-07 07:24:45 +02:00
Johannes Konings
1bbe4b6c1f deserialize SSST: insert_tadir
https://github.com/larshp/abapGit/issues/1755
method insert_tadir avoids "Object Directory Entry" popup
2018-08-07 07:23:05 +02:00
Michael Käsemann
8d51e6eb34 Optimized Git Object Handling (#1734)
* Optimized git object handling

- Introduced secondary indices for ZIF_ABAPGIT_DEFINITIONS=>TY_OBJECTS_TT to allow fast access to git objects by SHA1 and TYPE
- Added a new column INDEX to ZIF_ABAPGIT_DEFINITIONS=>TY_OBJECT to allow reconstruction of the correct sort order of git objects when after processing in ZCL_ABAPGIT_GIT_PACK
- Optimized git object accesses in ZCL_ABAPGIT_GIT_PACK, ZCL_ABAPGIT_GIT_PORCELAIN and ZCL_ABAPGIT_MERGE by using the newly introduced indices

* Removed excess fields

Removed excess fields from secondary index definitions of ´ty_objects_tt´, since they are not required.
2018-08-07 07:20:52 +02:00
Johannes Konings
8e556701c3 New online popup, fix descriptions #1752
https://github.com/larshp/abapGit/issues/1752
2018-08-06 20:06:17 +02:00
Christian Guenter
840fe06262 downport 702 2018-08-06 19:59:49 +02:00
Christian Guenter
d82a02cd0e downport 2018-08-06 18:11:09 +02:00
larshp
f0fb0f0470 TADIR performance
TADIR performance #1756

All usages of TADIR aligned to use the same structure. 
DELFLAG added in the structure.
2 identical structure definitions deleted.

todo: test this PR works after abapmerge has run
2018-08-06 15:39:15 +02:00
Christian Günter
400846e036 Downport method call chains to 702 + IF_OO_SOURCE_POS_INDEX_HELPER #1775 (#1776)
* Downport method call chains to 702 + IF_OO_SOURCE_POS_INDEX_HELPER

* catch exception if interfaces doesn't exist

Catch exception if IF_OO_SOURCE_POS_INDEX_HELPER doesn't exist
2018-08-06 15:11:40 +02:00
Christian Guenter
6ef0357795 ecatt downport 2018-08-06 13:31:43 +02:00
Johannes Konings
6ddd20e2b5 fix some naming convention #1132 (#1771)
* fix some naming convention

https://github.com/larshp/abapGit/issues/1132

* fix abaplint Reduce line length

https://github.com/larshp/abapGit/pull/1771
2018-08-06 13:10:03 +02:00
Lars Hvam
18573089e2
Refactor staging + git + online repo (#1769)
* change merge and staging

always push to the top of the currently selected branch

* remove branch and sha1 from stage object #365

* REPO not longer part of GIT_PORCELAIN

SET_OBJECTS moved to private

* and remove fields from constructor
2018-08-06 12:55:13 +02:00
Johannes Konings
09791d0685 Unit test ZCL_ABAPGIT_BRANCH_OVERVIEW for author regex (#1767)
* changed assert to exception

* unit test for author regex added

* Umlauts removed
2018-08-06 12:54:43 +02:00
larshp
02cccf6995 delete method set_new_remote in online repo
delete method set_new_remote in online repo

#1757
2018-08-05 13:12:36 +02:00
larshp
f77b798f4c Interface ZIF_ABAPGIT_GIT_OPERATIONS
Interface ZIF_ABAPGIT_GIT_OPERATIONS for git operations in repo online class
2018-08-05 13:05:08 +02:00
larshp
1d035cf1ab create_branch refactored 2018-08-05 12:47:54 +02:00
larshp
703b1022f5 separate repo from PULL 2018-08-05 12:17:34 +02:00
larshp
28adb2f790 separate repo from DELETE_TAG 2018-08-05 12:17:34 +02:00
larshp
748a32f57c separate repo from DELETE_BRANCH 2018-08-05 12:17:34 +02:00
larshp
71b7f9d788 separate repo from CREATE_TAG 2018-08-05 12:17:34 +02:00
larshp
d431f2d9d0 separate repo from CREATE_BRANCH 2018-08-05 12:17:34 +02:00
larshp
742f3e5e2c Sacrifice HEAD_BRANCH feature in repo
Sacrifice  HEAD_BRANCH feature in repo, suggest instead implementing a branch list cache later

#1757
2018-08-05 11:52:56 +02:00
larshp
d0838c0f54 delete ZCL_ABAPGIT_STAGE_LOGIC method COUNT
delete ZCL_ABAPGIT_STAGE_LOGIC method COUNT, not used anywhere
2018-08-05 11:52:30 +02:00
larshp
48e5a247f2 Online: method INITIALIZE + RESET_STATUS to privat
Change methods INITIALIZE + RESET_STATUS to private in ZCL_ABAPGIT_REPO_ONLINE

One external call of INITIALIZE changed to use REFRESH instead

Part of refactoring for issue #1757
2018-08-05 11:28:50 +02:00
Lars Hvam
c72d04ea80
Refactor background to use log object instead of WRITE (#1753)
* LOG: extra ADD_* methods

Methods ADD_ERROR, ADD_INFO, and ADD_WARNING added to log class

* refactor background to use log object

refactor background to use log object instead of WRITE
2018-08-05 08:08:41 +02:00
Lars Hvam
bca3fd6002
help, rename wiki to documentation (#1751)
* remove ENDMETHOD comments

* help, rename wiki to documentation

help, rename wiki to documentation

remove action from router and action definitions
2018-08-05 08:08:28 +02:00
larshp
de76c32fd3 refactor git length encoding #1741
refactor git length encoding #1741

can now handle larger numbers than 30mb, uses interation and less code
2018-08-05 08:08:09 +02:00
Lars Hvam
2c3b80a2a5
1.74.0 (#1750)
- Stage button in diff screen removed
+ Vimium like link hint navigation, enable in settings
* ecatt downport
* Performance optimizations
* SSFO fix jump to text module
2018-08-04 10:14:49 +02:00
Christian Guenter
a72edf9725 Remove 'Stage' from diff page
After this commit is applied it's no longer possible to stage
at the diff page. This simplifies the screen flow.
2018-08-04 09:49:23 +02:00
Christian Guenter
62506f52bb Default link_hint_key and background color
With this commit link_hint_key and link_hint_backgroun_dcolor
are populated with default values.
2018-08-04 09:13:43 +02:00
Christian Günter
ff4d126856 Vimium like link hint navigation #1706 (#1729)
* Vimium like link hint navigation

After this commit is applied, the link hint navigation can be used.
The feature can be activated and configured in the user settings.
Role model is the link hint navigation in the Google Chrome plugin
Vimium.

* refactoring: introduce KeyNavigation prototype

* refactoring: introduce LinkHints prototype
2018-08-04 07:36:28 +02:00
Frederik Hudák
adacc174bd Removed endmethod and endclass comments - folder git 2018-08-03 14:49:52 +02:00
Christian Günter
a4e670d254 ecatt: downport and fix naming #1737 (#1740)
* ecatt: downport and fix naming

* ecatt downport /2
2018-08-03 14:47:17 +02:00
Frederik Hudák
26c6f4b4dc Removed endmethod and endclass comments - folders syntax, zlib, xml 2018-08-03 13:33:33 +02:00
Frederik Hudák
34a65ba8e4 Removed unnecessary default comments from testclasses 2018-08-03 13:32:57 +02:00
Michael Käsemann
f9746cf199 Optimized ZCL_ABAPGIT_TADIR=>BUILD for better performance (#1725)
* Optimized ZCL_ABAPGIT_TADIR=>BUILD for better performance

- Using the optimizations in ZCL_ABAPGIT_FOLDER_LOGIC (PR #1723) and ZCL_ABAPGIT_SAP_PACKAGE (PR #1724) to optimize the TADIR build method, by first determining all relevant subpackages and then processing them in one go instead of having to recurse and read information from the DB separately.
- Note that the optimization can also be used without the changes in #1723 and #1724, but the effect will be less or worse and the coding requires adaptations.

* Fixes coding artifact of #1723

Removed a coding artifact that makes use of importing parameter ÌO_FOLDER_LOGIC`, which is no longer needed in the flat BUILD processing.

* Adapted for rework in #1724

After adapting PR #1724 to no longer use buffering, but instead select packages with a level-based selection, the buffering parameter in `ZCL_ABAPGIT_SAP_PACKAGE=>LIST_SUBPACKAGES` no longer exists and should not be used in this PR.

* Compressed IF/ELSE construct

* Removed whitespaces

* Fixed auto-merge issue

Removed a double variable declaration resulting from git auto-merge
2018-08-02 06:48:13 +02:00
Frederik Hudák
9d79bc3cc5 Removed endmethod and endclass comments - folder utils 2018-08-01 18:55:31 +02:00
Michael Käsemann
3331a73b86 Optimized Git Type Determination
- Optimized the type determination logic in ZCL_ABAPGIT_GIT_PACK=>GET_TYPE by removing the string conversion and processing the relevant bits directly
2018-08-01 13:11:22 +02:00
Michael Käsemann
aa90f278b7 Added Buffering to ZCL_ABAPGIT_SAP_PACKAGE (#1724)
* Added Buffering to ZCL_ABAPGIT_SAP_PACKAGE

- Added a buffering option to ZCL_ABAPGIT_SAP_PACKAGE=>LIST_SUBPACKAGES, which gives a performance increase in repos with a deep tree structure, because all relevant packages are read from the DB only once and then the determination of subpackages is performed on an internal buffer table.

* Used buffered SAP package information determination in file status processing

* Level-based Subpackage Selection

- Replaced buffered package access with level-based subpackage selection

* Minor fix for select statements to avoid warnings
2018-07-31 17:31:18 +02:00
Christian Guenter
fa61f45886 SSFO: fix jump to text module
After this commit is applied jump to smartforms
text modules works as expected.
2018-07-31 13:46:30 +02:00
Michael Käsemann
b3679f0868 Added Buffering to ZCL_ABAPGIT_FOLDER_LOGIC (#1723)
* Added Buffering to ZCL_ABAPGIT_FOLDER_LOGIC

- Converted ZCL_ABAPGIT_FOLDER_LOGIC=>PACKAGE_TO_PATH and ZCL_ABAPGIT_FOLDER_LOGIC=>PATH_TO_PACKAGE to instance methods, so they can work with buffered data when constructiing path information. This gives a performance advantage in repos with a depp tree structure and multiple leaf packages
- Adapted all calling code to use an instance of ZCL_ABAPGIT_FOLDER_LOGIC instead of the previously available static methods
- Where applicaple PACKAGE_TO_PATH and PATH_TO_PACKAGE were called in an instance of ZCL_ABAPGIT_FOLDER_LOGIC, which was instanced outside of a processing loop and thus profited from the introduced buffering

* Fixed errors

* Removed obsolete coding artifacts

Removed an obsolete parameter, that accidentally got merged into the code when building the pull request

* Forwarded FOLDER_LOGIC instance to recursed calls

Forwarded ZCL_ABAPGIT_FOLDER_LOGIC instance to subsequent BUILD calls to make use of buffering, until the optimizations in #1725 are in place.
2018-07-31 12:19:29 +02:00
larshp
eac0045305 background: fix dump when reconfiguring
fix dump due to old background settings
2018-07-30 16:53:55 +02:00
Lars Hvam
4180373b46
Refactoring, HTML_ACTION_UTILS #1710 (#1720)
* DBCONTENT_DECODE to ZCL_ABAPGIT_GUI_PAGE_DB_EDIT

* PARSE_COMMIT_REQUEST to ZCL_ABAPGIT_GUI_PAGE_COMMI
2018-07-30 16:33:52 +02:00
Lars Hvam
e904130b67
v1.73.0 (#1718)
Background mode must be reconfigured after installing this version
New interface ZIF_ABAPGIT_BACKGROUND for implementing custom handlers
Background mode will now push deletions
2018-07-29 14:11:22 +02:00
larshp
58fa197ed5 Move settings type to background interface 2018-07-29 14:01:45 +02:00
Lars Hvam
4fa485bf96
Remove superfluous spaces (#1712)
* remove spaces

* remove spaces

* remove spaces

* remove double space
2018-07-29 10:08:54 +02:00
Lars Hvam
43da0f819c
Background mode refactoring (#1707)
* move background logic to new package

* background refactored

* background, gui page refactored

* find implementations

and fix code inspector findings

* pretty print interface
2018-07-29 10:08:42 +02:00
Frederik Hudák
c4639f65ce Removed endmethod and endclass comments - objects folder 2018-07-28 10:10:16 +02:00
Lars Hvam
67c76df109
Delete unreferenced types (#1705)
* remove ty_adler32

* remove tt_file_diff
2018-07-28 07:26:14 +02:00
Lars Hvam
62580af494
Omit parameter name where possible (#1704)
* zcl_abapgit_2fa_github_auth omit parameter name

* ecatt omit parameter names

* zcl_abapgit_ecatt_script_downl pretty print

* zcl_abapgit_ecatt_script_downl omit parameter name

* zcl_abapgit_ecatt_val_obj_upl omit parameter name

* zcl_abapgit_file_status omit parameter name

* zcl_abapgit_gui omit parameter name

* zcl_abapgit_gui_page_boverview omit parameter name

* zcl_abapgit_syntax_highlighter omit parameter name
2018-07-28 07:25:28 +02:00
Christian Guenter
7a7587a481 Background: Push deleted objects
Before this commit is applied deletions weren't pushed in background
mode. With this commit the deletions are pushed.
2018-07-28 07:24:57 +02:00
Lars Hvam
d013f34893
1.72.2 (#1703)
* update version

* v1.72.2
2018-07-27 13:34:44 +02:00
larshp
e5c75da12c background: remove unused variables 2018-07-27 13:17:49 +02:00
larshp
06d06e23fe list_subpackages: order by primary key
list_subpackages: order by primary key, to fix HANA warning
2018-07-27 13:17:29 +02:00
larshp
faf2f93197 no need to pass is_checks by value
plus some methods reordered
2018-07-27 13:17:14 +02:00