* Fix unit test for user records
Perform unit test only if a user with an email address exists
Closes#4247
* Remove test
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* UI: Clear progress bar
Clears status/progress bar at end of process and removes leftover messages.
Closes#3505
* Lint
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* show log, remove title parameter
the log objec already have the title as part of the object, another input is not required
this aligns the code to always use the title from the object
closes#4223
* zif_abapgit_log, change title to csequence input
This adds shorthand methods for the SHA1 calculation of the different git artifacts.
More logic in ZCL_ABAPGIT_HASH, but easier to read and less application logic.
* Refactor XSTRING_TO_INT
this will use the built-in type conversion, its less code and most likely also runs faster
* delete METHOD alpha_output
it is only used in one place, and its a simple NUMC that is converted
* ZCL_ABAPGIT_CONVERT refactor
this removes calls to function modules, replacing with class based equivalents, or all custom ABAP implementations
* rename local variables
* 702: Downport
No chaining with CHANGING
* 702: Downport
* Syntax check variant
* Too many fields warning
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Update ZCL_ABAPGIT_USER_MASTER_RECORD
- Issue: If the user does not exist in the system, the BAPI will fail but still the user still will be added to the gt_user.
- Fixed the issue, if user is invalid it wont be added to the list.
- Refactored the class and added check_user_exist method.
- Added unit tests.
* Sy-uname
* Lint
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* 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
* event->post_data logic
* part of pages, commit test
this is also long text
to test
* string_map: port strict() feature
* pages refactoring part 2
* linter
* docs
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* remove uses of CHAR30
* Update abaplint.json
* add basic unit test for ZCL_ABAPGIT_MESSAGE_HELPER
* replace uses of char50
* fix name
* Update abaplint.json
* use sy-uname instead of uname
in ZCL_ABAPGIT_USER_MASTER_RECORD
* Restart abapGit in case of self-update
Closes#3358
* Fix abapgit url detection
Old logic incorrectly matched for example https://github.com/abapGit-tests/CHAR
* Github only
* Separate method
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Fixed faulty translation of post data to parsable string
- Added method TRANSLATE_POSTDATA to ZCL_ABAPGIT_UTILS as a centralized place to translate post data to a string
- Replaced all post data string concatenations with the translation helper method to correctly parse spaces that fall to the end of a table line (this should solve #3073 as well as any other random crash caused by accidental misalignment of the post data)
* Backport ABAP statement to 7.02
* Code cleanup for linter checks
* Code cleanup for linter checks
* Fixed a possible error in parsing
If it_postdata contains an empty last line, the staging fails, because the string may contain a lot of soaces at the end of the previous to last line.
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Fix issue 3597 (#2 try)
When abapGit is being executed on SAP GUI for HTML, all the links don't work (don't do anything because SAPEVENT isn't being passed back to the application server).
* Fix build errors of previous commit
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* APACK definition
* Rework News
Use APACK version for news and remove restriction for repository to set available for all with APACK
* Remove APACK for abapGit
* TODO mark for version constant use
* Move is_abapgit_repo to zcl_abapgit_url
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Patch: Refresh object first working version
* Patch: add refresh local and refresh repo + refact
* add missing stuff
* fix lint
* refactoring and cleanup
* add missing stuff
* refactor
* refactor
* refactor
* add title for menu bar
* Save and restore scroll position
* refactoring and cleanup
* refactor
* cleanup
* cleanup
* cleanup
* remove new hotkey
* disable object refresh for non-object files
* remove restore scrollposition
* cleanup
* refactor
* cleanup
* save scroll position
* Fix: refresh of deleted objects
* Fix dump: refresh new objects
* add hotkey support for refresh all local objects
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Create pull.yml
* Update zcl_abapgit_git_transport.clas.abap
* Update zcl_abapgit_git_transport.clas.abap
* Update pull.yml
* Delete pull.yml
* Improved time conversion
Preparation for #3040
> rename time%3D>get to time%3D>get_unix
> added time conversion from unix to real (get_real)
> added unit tests for time conversion
* abapLint
* Raise cx_static_check and removed exc handling
* Create pull.yml
* Update zcl_abapgit_git_transport.clas.abap
* Update zcl_abapgit_git_transport.clas.abap
* Update pull.yml
* Delete pull.yml
* Tags: Error author regex
> Regex couldn't match with string "pull[bot] <39814207+pull[bot]@users.noreply.github.com> 1573216988 +0000" because "[]" weren't allowed
* abapLint
* Added unit test for author_regex
#3042
* Any character in author name and Unit Tests
#3042#3069
* Unit Tests and utils method for author regex
#3042#3069
> Unit Tests for author_regex (zif_abapgit_definitions)
> New utils method for regex check as utils method in zcl_abapgit_utils
> Regex for author expects now at least one character for the author name ('^(.+)'...)
> Use zif_abapgit_definitions%3D>ty_commit_tt instead of local type of the same type in class zcl_abapgit_branch_overview
* Changed utils method/tests and moved unit tests
#3042 - Error author regex
#3069 - Add unit tests
> Renamed is_author to extract_author_data and moved related source code from branch_overview to utils class
> Changed related unit tests to handle exception or not
> Moved unit tests to local class of zcl_abapgit_utils
* abapLint
* abapLint
* abapLint
* abapLint
* exclude 7bit test for testclass
* Create pull.yml
* Update zcl_abapgit_git_transport.clas.abap
* Update zcl_abapgit_git_transport.clas.abap
* Update pull.yml
* Delete pull.yml
* Check repo URLs before creating a new online repo
Fixes#3060
* Check repo URLs before creating a new online repo
Use method zcl_abapgit_url%3D>name and replace the assert with an exception
* Pass log interface for de-serialization
Interface ZIF_ABAPGIT_LOG is now passed for deseriaization API.
This includes:
- Log messages for FUGR: Imported function modules and includes
- Improved error messages for TABL compare
- Log objects w/o changes
- Log is shown in the UI if available ("Log" entry appears if a log exists, no persistence!)
This PR enhances #2534 and #2694
Another important change: In case an object fails (or a single function module in a group fails), the import continues with the next object!
* small pretty printer changes
small pretty printer changes
* fix abaplint issues
reduce line sizes and ensure 7.02 compatibility
* show errors and warnings from pull
Errors and warnings after a pull are now part of the "message list" above the object list in the main screen and will be shown immediately. The new"Log" button shows errors, warnings and success messages on demand.
The log title is now part of the ZIF_ABAPGIT_LOG interface.
* fix abaplint issue
fix abaplint issue
* log: move show functions to new class
Enhance ZIF_ABAPGIT_LOG
- add IS_ITEM structure (object) to message adding functions
- add method "add_exception"
- add method "add_info"
- relocate methods "show", "to_html" and "write" to new class ZCL_ABAPGIT_LOG_VIEWER
Introduction of new log viewer class ZCL_ABAPGIT_LOG_VIEWER
Replacement of relocated methods where used
-> This is the next step providing a log for serialzation/de-serialization (see #2534)
* fix abaplint issues
fix abaplint issues
* fix abaplint issues (2)
fix abaplint issues
* font
* css fix and icon rendering
* assets and font link in html head
* more icons
* more css fixes
* replace icon names
* dev docs
* Fonts update
* icons rename
* doc update
* linter fixes
* fix for abapmerge
* interface for progress class
* adjust branch overview
* adjust git pack
* adjust diff page
* adjust objects class
* adjust activation class
* adjust repo online class
* adjust serialize class
few methods moved
* adjust tadir class
* Staging smaller chunks of code like git add -p
With this commit a new feature which works similar to git add -p
is added. We are now able to patch, which means that we can
commit on line basis. And are not restricted anymore to commit
only on file basis.
* move get_page_patch to stage page
* Refactor JS
* Refactor JS
* 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
- Changed: Since X_TO_BITBYTE only converts a single byte to a bitstring, it is faster to use direct addressing instead of a loop/concatenate pair, since concatenate on characters has to process the whole char array in each run.
Moved the progress percentage calculation into the execution block, because we don't need to calculate the percentage if we are not going to display it.
Fixed an issue with the progress indicator updates, where updates of the progress indicator would flush the message queue of SAP GUI and cause a GUI crash or hang.
The problem is described in SAP note #2084109 and seems to occur for large repositories (especially after installing SAP GUI 7.50 PL6)
- new local setting to set check variant
- new local setting to block pull if code inspector check fails
- check is executed before staging
- new page to display code inspector results
* lcl_background to global
* lcl_branch_overview to global
* lcl_services_git to global
* lcl_services_repo and lcl_services_db to global
* lcl_services_abapgit to global
* lcl_gui_chunk_lib to global
* lcl_gui_view_tutorial to global
* lif_auth to global
* lcl_auth and lcl_gui_view_repo to global
* lcl_view_repo
* lcl_gui_page_syntax to global
* 2 pages to global
* refactor router, less dynamic references
* background pages to global
* branch overview to global
* settings page to global
* repo settings page to global
* explore page to global
* diff page to global
* debug info to global
* main page to global
* refactor router, no dynamic references
* db pages to global
* router to global
* gui to global
* clean up includes
* move type definnition to interface
to avoid syntax error after abapmerge
* move types to interface
* move types to interface
* rename tyep
* move type
* move types
* move type