Old logic was failing if transaction ZABAPGIT already existed - typically because it was created manually for the merged version. Testing for program ZABAPGIT would not be any better since that might have been used for the merged version as well. It's more reliable to check a class.
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Add syntax-highlighters for CSS, JS, JSON
* Update W3MI ZABAPGIT_CSS_THEME_DEFAULT
* Fix line size and case statement
* Fix line size
* Update styles, removed operators
* Added highlight for comments in HTML/XML
* Fix menu hover background
This makes the selected menu more visible.
Also includes color fix for repo name and url in dark theme.
* Fix for W3xx objects with "." in name
* Reverse fix for W3xx
* Remove hover style changes
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* refactor mi_gui_services to getter
* zif_html->set_title (for debug of postponed parts)
* add set_title to all postponed parts
* gui optional rollback on error
* forgotten gui_services call
* docs
* remove gui_page redirect #3404
* forgotten html~set_title in hotkey class
also renamed render_js_part into render_scripts for unification and reuse register_deferred_script - this is why I lost it int the first place
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Update zcl_abapgit_gui_page_stage.clas.abap
* Change to exception
* add reference to issue as comment in code
* Update zcl_abapgit_gui_page_stage.clas.abap
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Set filter for file open and save dialogs
Set the file filter dropdown and default to *.ZIP in file open and save dialogs
* Add new setting for default commit comment
New abapGit setting to define a default for the comment used for commits. Object and/or filename can added to the comment automatically, which works similar to GitHub if a single file is changed. If multiple objects are changed, then object/file count is included in the default for the comment.
* Update CLAS ZCL_ABAPGIT_GUI_PAGE_COMMIT
* Fix text for $object
Fixed case when one object with multiple files was changed
* Pretty print
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* zcl_abapgit_html_parts primitive
* integrate parts in GUI
* bughunting and renames
* scripts collection, move hotkeys js to parts
* linter fixes
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
* 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>
* Introduce zcl_abapgit_gui_page_patch as subclass of zcl_abapgit_gui_page_diff
introduce pop-method on GUI stack
fix linter + raising exception when gui stack emp
introduce zcl_abapgit_gui_page_patch
more
add
fix linter
remove go back to patch after commit
fix linter
remove bookmark for stage page
remove pop
src/ui/core/zcl_abapgit_gui.clas.abap
src/zcl_abapgit_repo_online.clas.abap
* refactor: move more logic to render_line_split_ro
* refactor move logic to render_diff_head_after_stat
* add logic to render_table_head_non_unified
* extract render_table_head_unified
* extract of is_patch_possible calculation
* fix linter
* move hotkey to patch
* refactor and rename to get_normalized_fname_with_p
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>
* Resize stage list to full width
* Move patch button to the top menu
* Center stage list, increase line width in repo, stage
* Repo page - Increase line height for path column
* Stage list to full size
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* add proxy bypass option in settings
* add proxy bypass popup and persist settings
* add proxy bypass to proxy config class
* Fix Proxy Bypass Button HTML
* Fix indentation
* Implement Method popup_proxy_bypass
* Fix behaviour in case of empty range tab
* Fix behaviour in case of empty range tab 2
* Code selection by column on DIFF screen
Fix of #3089
Two ways to select a text:
1. Position the mouse at the start of the text, press mouse left button, keep pressed, drag to the end of the text, release the button
2. Position the mouse at the start of the text, press mouse left button, release the button, position the mouse to the end of the text, press shift key + mouse left button.
Two ways to copy the selected text:
1. Press Ctrl + C or Ctrl + Ins
2. Mouse right button on the text to display the context menu and choose Copy
SPLIT VIEW (code at the left is the LOCAL code and code at the right is the REMOTE code):
- Text can be selected only at the left side, or only at the right side.
- The dummy empty lines which show the place of lines which exist only at the other side are not copied.
UNIFIED VIEW (LOCAL and REMOTE are mixed in the same column, "green plus" lines correspond to lines only in the LOCAL code, "red minus" lines correspond to lines only in the REMOTE code.
- Only the lines from the REMOTE code are copied
PATCH VIEW (split view + one extra column on the left)
- Same features as the SPLIT VIEW
* corrections lint javascript
* merge latest abapgit changes
* corrections lint javascript
* JS refactor functions to prototyped fns (classes)
* JS lint corrections + minor last minute changes
* conform current common.js standards
* LINT conform to common.js standards
* unused lines removed
* 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
* added a picture for pull from zip
it can then be used in guide-import-zip.md
* Fix for Issue 2922
https://github.com/larshp/abapGit/issues/2922
Added a new test method find_head_closing_tag.
Implemented fix in method zcl_abapgit_gui_html_processor->find_head_offset.
* Removed dont needed Pull_from_zip.png
Removed dont needed Pull_from_zip.png
* Restored NewLines handling in patch_html
Restored NewLines handling in patch_html
* Fixed some abapLint Warnings
Fixed some abapLint Warnings
* Fixed some abapLint messages
Fixed some abapLint messages
* Order by on repo page
* move render_cols_pec to zcl_abapgit_gui_chunk_lib
* cleanup
* cleanup
* first new working version
* fix lint
* add OrderByHelper
* add new feature clear
* rename ICON to CLEAR
* cleanup
* refactor actions
* fix typo in method name
* remove duplication
* rename render_col_spec to render_order_by_table_he
* refactor type
* fix eslint warning
* isoltate repo_tab CSS
* fix non-code and metadata files at the top
* refactor
* cleanup
* new features "diffs first" + remove clear
* refactor
* take directories into account
* cleanup
* #2725
> Bottom logo is now clickable and links to the repository page on GitHub
> New menu item 'Changelog' under 'Help' which links to the changelog.txt
Special Notes:
> Link to documentation was already implemented
> Link for menu item 'Tutorials' isn't linked to anything. But that seems to be right, because there isn't a tutorial site separated from the documentation website
* abaplint: Normalization
* Update zcl_abapgit_services_abapgit.clas.abap
* Update zcl_abapgit_services_abapgit.clas.abap
* abaplint: fix max line length error
* abaplint
* Removed "|{}|"
* command palette
* support for Ctrl; case insensitive search
* some wip
* refactor KeyNavigation
* eslint
* commandPalette key navigation improved
* last backspace hides the palette
* minor cleanups and ids
JavaGUI does not pass values of options from forms generated via
JavaScript.
This commit adds enhances the base page class to render stub forms
(empty form elements), so the page's JavaScript does not need to create
the form element on its own.
It is an optional behavior and can be enabled by redefining the method
get_events which should return table of required events and the base
page object will add the empty form elements for them. Every table line
will be converted to a form with id = "form_" + the event's name.
On the action submit SAP event in the common JavaScript, the method
checks if there is the stub form and if so, the method uses it instead
of creating the dynamic one. Otherwise, it follows the old approach that
creates the form at run-time.
--- v2
Use 'null' instead of 'undefined' to check the form was not found in
the JavaScript code.
---
Issues: #1866, #2769
* draft rewrite hint to be dynamic
* linter fixes
* remove color setting
* remove backspace and esc handling
* close dropdowns
* return some comments in JS
* linter fixes
* Fix hint for dropdown first time + alw close drdwn
* Refactoring of ZCL_ABAPGIT_ENVIRONMENT #2810
* fixes saplint issues
* fixes saplint isues
* fixes saplint issues
* fixes issue based on review
* align zcl_abapgit_objects.clas.abap to master
* add the test class again
* UI Dark Theme #2610
Proposal - Right now, only the first obvious screens were checked, and there are still a few issues with them.
* CSS cleanup of unused elements
* Improve error information - follow up Part I
- Bug: remove errorenous regex
- Add tooltip for message id and message class
* Replace text of message link
* Improve error information
With this commit errors that are raised with zcx_abapgit_exception=>raise
and issued with message are enriched with two additional functions.
1) Go to source
Navigates to the source code position where zcx_abapgit_exception=>raise
is called
2) Callstack
Shows a popup with the full callstack and the possibility to navigate to
the source of each line with double click
This feature requires the full abapGit repository. Without nothing
changes.
* issue messages directly
* zcx_abapgit_exception: adapt callstack handling
- callstack as attribute
- export callstack to ABAP memory only when SAPGui is available
* rename memory id
* Add comment why we don't delete callstack from MEM
* cleanup
* first try html error display
* add some comments
* add longtext
* goto_source and callstack implemented
* part 2
* remove
* fix
* add close button
* fix long classname
* fix linter
* add jump to SE91
* fix lintmr
* fix and cleanup
* fix linter
* fix linter
* fix eslint
* fix linter
* remove message class
* remove superfluous constant
* add missing method implementation
* refactor
* add hotkey for message longtext toggling
* hotkey 2
* refactor + resize callstack popup
* Refactoring: simplify control flow
* fix goto callstack for merged abapGit
* refactor: simplify control flow
* Refactoring: introduce message helper
* fix linter
* remove TODO pragmas
* ren. render meth + move zcl_abapgit_gui_chunk_lib
* refactoring: simplify control flow
* simplify exception handling
* refactor
* refactor
* refactor
* remove duplication
* Rename method
* rename method
* remove superfluous constant
* call ZCL_ABAPGIT_MESSAGE_HELPER dynamically
* cleanup
* Improve UX
* fix linter
* remove hotkey
* 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
* New Program : Mass Transport to local zip file
Create new program ZMASSGIT in order to convert multiple tranport request to local zip files ( by giving output folder ).
Timestamped subfolder will be created in the input folder.
* Add files via upload
* Update zmassgit.prog.abap
* Add files via upload
* Add files via upload
* Delete zmassgit.prog.xml
* Delete zmassgit.prog.abap
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Delete zabapgit_masstransp2zip.fugr.lzabapgit_masstransp2zipf01.abap
* Delete zabapgit_masstransp2zip.fugr.lzabapgit_masstransp2zipf01.xml
* Delete zabapgit_masstransp2zip.fugr.lzabapgit_masstransp2zipplc.abap
* Delete zabapgit_masstransp2zip.fugr.lzabapgit_masstransp2zipplc.xml
* Delete zabapgit_masstransp2zip.fugr.lzabapgit_masstransp2zipscr.abap
* Rename zabapgit_masstransp2zip.fugr.lzabapgit_masstransp2zipscr.xml to src/zabapgit_masstransp2zip.fugr.lzabapgit_masstransp2zipscr.xml
* Rename zabapgit_masstransp2zip.fugr.lzabapgit_masstransp2ziptop.abap to src/zabapgit_masstransp2zip.fugr.lzabapgit_masstransp2ziptop.abap
* Rename zabapgit_masstransp2zip.fugr.lzabapgit_masstransp2ziptop.xml to src/zabapgit_masstransp2zip.fugr.lzabapgit_masstransp2ziptop.xml
* Rename zabapgit_masstransp2zip.fugr.saplzabapgit_masstransp2zip.abap to src/zabapgit_masstransp2zip.fugr.saplzabapgit_masstransp2zip.abap
* Rename zabapgit_masstransp2zip.fugr.saplzabapgit_masstransp2zip.xml to src/zabapgit_masstransp2zip.fugr.saplzabapgit_masstransp2zip.xml
* Rename zabapgit_masstransp2zip.fugr.xml to src/zabapgit_masstransp2zip.fugr.xml
* Rename zabapgit_masstransp2zip.fugr.z_abapgit_transports_2_zip.abap to src/zabapgit_masstransp2zip.fugr.z_abapgit_transports_2_zip.abap
* Rename zcl_abapgit_transport_mass.clas.abap to src/zcl_abapgit_transport_mass.clas.abap
* Rename zcl_abapgit_transport_mass.clas.xml to src/zcl_abapgit_transport_mass.clas.xml
* Delete zcl_abapgit_zip.clas.abap
* Delete zcl_abapgit_zip.clas.xml
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Update zcl_abapgit_zip.clas.abap
* Update zabapgit_masstransp2zip.fugr.lzabapgit_masstransp2zipf01.abap
* Update zabapgit_masstransp2zip.fugr.lzabapgit_masstransp2zipf01.abap
* Update zabapgit_masstransp2zip.fugr.lzabapgit_masstransp2zipf01.abap
* Update zcl_abapgit_transport_mass.clas.xml
* Update zcl_abapgit_transport_mass.clas.abap
* Update zabapgit_masstransp2zip.fugr.saplzabapgit_masstransp2zip.abap
* Update zabapgit_masstransp2zip.fugr.lzabapgit_masstransp2zipplc.abap
* Update zabapgit_masstransp2zip.fugr.saplzabapgit_masstransp2zip.xml
* Update zabapgit_masstransp2zip.fugr.lzabapgit_masstransp2zipplc.abap
* Update zabapgit_masstransp2zip.fugr.lzabapgit_masstransp2zipplc.abap
* Update zabapgit_masstransp2zip.fugr.saplzabapgit_masstransp2zip.abap
* New version without function group
* Cleanup
* Abaplint
* AbapLint Fixes
* Remove plugins objects from master
* Skip log flag in ZIP export
* Popup to ask the Export logic ( FULL / PREFIX ..)
* line length for abaplint
* Refactoring of code
Avoid redundancy of code and remove unused constant.
* Reduce line 50 length for abaplint ( < 120 )
* Change by the review of code
Refactoring of code
* AbapLint Fix
* 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
* Patch: replace links with checkboxes
With this commit we replace the links on the patch page
with checkboxes.
This has several advantages:
- better performance
- simplified and less cluttered UI
- less and easier to understand code
* refactor
* refactoring: introduce new method add_checkbox
* fix linter
* enable link hint navigation
* Refactoring: remove duplication
* refactor: remove duplication
* fix: link hint activate section/lines
* Added client check
Check if repository objects are modifiable in client. If not make write_protected setting active for all repos and make this setting disabled in repo setting page.
* fix abaplint errors
fix for abaplint errors
* code changes as suggested in review
1) Remove zcl_abapgit_client_check class
2) Add is_repo_object_changes_allowed method to zcl_abapgit_environment class
* Delete zcl_abapgit_client_check class
Delete zcl_abapgit_client_check class
* fixed error when activating on ABAP 7.02
* implemented suggestion, direct assignment instead of casting
* implemented suggestion (now using the interface)
* changed lr_popups to li_popups
* Hotkeys no longer depend on abapGit installation
When this commit is applied hotkeys also work with
the single abapGit report. Limitation is still that users
only can override hotkeys with the installed abapGit repo.
* Fix hotkey display when no user def. hotkeys
* New: Override hotkeys within one file abapGit report
When this commit is applied it's possible to override the default
shortcut also in the one file abapGit report. It's no longer necessary
to installe the full abapGit repo to use this feature
* Extract is_merged + check in hotkey logic
* Allow access to private repos when using ADT
In case of using a private repository in ADT (aka ABAP in Eclipse), username and password are passed to the backend system. The ADT backend coding currently handles this via class ZCL_ABAPGIT_DEFAULT_AUTH_INFO. To avoid sending a password dialog in the backend system, class CL_ABAPGIT_PASSWORD_DIALOG needs to be adjusted to take over user/pw from ZCL_ABAPGIT_DEFAULT_AUTH_INFO in a generic way. I know this is not nice and it would be better to have ZCL_ABAPGIT_DEFAULT_AUTH_INFO in ZABAPGIT. Even the best solution would be to re-use ZCL_ABAPGIT_LOGIN_MANAGER instead, but I would recommend to refactor this in a new pull request later on...
* Add comment
Add comment for temporary solution and link to PR#2635
#2498 Two unit tests in ZCL_ABAPGIT_GUI_PAGE_DIFF failing
It concerns two test methods which test zcl_abapgit_gui_page_diff%3D>get_patch_data. The parameter IV_PATCH is passed with an incorrect value.
This issue is due to commit 389512f690 on Feb 26, 2019
Correction of method get_patch_data_add:
- Before: |add_patch_zcl_test_git_add_p.clas.abap_19|
- After: |patch_line_add_zcl_test_git_add_p.clas.abap_0_19|
Correction of method get_patch_data_remove:
- Before: |remove_patch_ztest_patch.prog.abap_39|
- After: |patch_line_remove_ztest_patch.prog.abap_0_39|
* Handle calls to repository URL on all pages
Call super class' for unhandled events in all classes displaying repository (identified from where-used list for zcl_abapgit_gui_chunk_lib%3D>render_repo_top).
I suppose it should be safe to add the 'super' call everywhere, but for now this will solve the bug.
* Revert "Merge branch 'unknown-action-url' into 'master'"
This reverts merge request !1
* Handle calls to repository URL on all pages
Call super class' for unhandled events in all classes displaying repository to handle URL click.
Relevant classes were identified by the where-used list for method render_repo_top in class zcl_abapgit_gui_chunk_lib.
I suppose it should be safe to add the 'super' call everywhere, but for now this will solve the bug.
* repo: do not validate sub-packages when ignored
In our landscape, we often need to version a package which has
sub-packages and those sub-packages have own repositories - the super
package provides framework and the sub-packages provides production
functionality.
When adding a new repository for these "framework" super-packages,
we need want to configure "Ignore sub-packages" because they are
already versioned in standalone repositories.
We also need to turn of the sub-package repo package check which is done
by this patch.
Dependency of #2395
* repo: allow creating with folder logic and ignore package
I need to enable users to add a new online repo with ignored
sub-packages and PREFIX folder logic because we often deal with
framework + implementations packages hierarchies.
Dependency of #2395
* repo: add folder logic and ign. sub.pkg to the new repo popup
This patch adds the parameters Folder logic and Ignore subpackages to
the new online repo popup to help us deal with old package which do not
follow the prefix approach for subpackages and to allow us to version
superpackages (which are shared by many developers) in separate
repositories.
I am not sure how to add a check-box to the popup window. I think I need
to find the right table with the righ column of the type char(1).
Closes#2395
move file_download to ui package, part of #2510
the zip class should ideally work without frontend interaction, and just provide/parse the raw xstrings, this way it can be reused across different frontend technologies
* Adding HTML new elements to BOverview Page
* Adding gitGraph CSS propertires
* Adding gitGraph scroller function
* Set gitGraph Scroller css width dynamically
* Initialize Top Horizontal Scroller on GitGraph
* Adding setGitGraphScroller() to BOverview HTML
* Fixed HTML wrong TAG
* Adding some comments
* Fixing abaplint messages
* Refactoring Indentation for Travis
* Refactoring for Travis
* Removing trailing spaces for Travis
* 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
* delete method GET_INSPECTION
delete method GET_INSPECTION, not called from anywhere
* delete class ZCL_ABAPGIT_ABAP_UNIT_TESTS
* delete class ZCL_ABAPGIT_SYNTAX_CHECK
* delete class ZCL_ABAPGIT_ADHOC_CODE_INSP
* move VARIANT to importing in RUN
instead of in the constructor
* one variable containing the name
instaed of 2 with same contents
* linting
With this commit a new user setting called 'disable octicons' is
introduced. Octicons should be disabled when the client doesn't have
internet access or the abapGit UI hangs sometimes.
By default this option isn't active.
* Changed default text in branch popup
* Downgrade to Abap 7.02 syntax
* Reduce line length of commit (for abaplint)
* Ignore files that are not in local repo
Ignore files that are not in local repo when doing transport to branch
* Changed line indent
* More indentation fixes
* 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