I was approached by a colleague of mine who was not sure how to deal
with the message:
- 'Package $FOO_BAR already in use'
I thought it was caused by the fact that some super or sub-package was
already watched by abapgit but whenI found the message in source codes I
figured out that there is already a repo for that package.
This patch should make the message easier to understand, so the new
version is:
- 'Package $FOO_BAR already versioned as FOO by DEVELOPER'
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
* add method to determine if running in cloud
add new class and method to determine if abapGit is running on ABAP cloud/Steampunk systems, part of an effort to align codelines #2511
* fix naming
* add simple unit test
* Implement deserialize steps swap DDIC/ÁBAP order
* fix for wapa and abaplint
* bugfix in falback logic and type definition
* fixed constant usage
* fixed abaplint and constant usage
* focus only on design change of deserialze
* focus only on design change of deserialze
* Bugfix for CI because of changes of the order
* cleanup
* cleanup
* minor changes
* move types to IF
* Add serialization for APACK manifests
* Add documentation for APACK serialization
* APACK docs: Add more information about dependency format
* APACK: Some words about transporting ZIF_APACK_MANIFEST
* APACK: Move definitions in own interface
* APACK: Don't build the manifest file twice...
* 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
IWPR basic version #75
can later be extended with implementations of IS_LOCKED, JUMP, and CHANGED_BY
this uses the generic serializer via OBJH, like abapGit-Plugins
With this commit we fix the filename construction so that for
objects without file extension the correct filename is constructed.
Before this commit is applied these objects create file names with
an additional dot at the end.
* 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.
With this commit we add an existence check the delete method
of ENHO serializer because some enhancements, like implicit source code
enhancements of classes, are deleted implicitly.
* ECATT: remove dynamic method calls
This commit introduces two new interfaces to remove dynamic method calls.
- ZIF_ABAPGIT_ECATT_DOWNLOAD
- ZIF_ABAPGIT_ECATT_UPLOAD
* ECATT: Rename method
Rename method z_set_stream_for_upload to set_stream_for_upload
as we now use our own interface and there's no risk that SAP
standard introduces a method with the same name
* delete method CHECK_PROG_CHANGED_SINCE
not in use anymore
* delete method ADD_XML_FROM_PLUGIN
looks like it is not used anywhere, also not in plugins
* naming conventions
* 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
Function groups can use includes that were separately created as programs of type include. Those includes could be reusedin various other programs and function groups. They might even be created in a different package. This type of include is an object of it's own that get serialized with it's package as a separate object. Therefore it should not be included in serialization of any function group that uses it. This fix checks for which includes TADIR entries of type PROG exists and excludes them from serialization in FUGR serializer.
* SFPF, SFPI: Error by import (issue #2353)
The renumbering of the attributes "id" and "href" is reworked
* Pretty printer of the full class source
* indentation
allow changing remote and branch for write protected repos. In the old days changing remote and branch triggered a pull, this is decoupled, so there should be no changes to the local code when switching remote or branch
* add missing functions in plugin VCLS
* fix pretty print
* fix check usage for abaplint
* adjust detection of locks
* german type
* move fix to deserialize
* fix syntax for 7.02
* PINF: Improve error handling
This commit introduces a facade for IF_PACKAGE_INTERFACE which
unifies the exception handling from classic exceptions to
new class based exceptions. Thereby we ensure that all classic
exceptions are catched.
* fix lint errors
* 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
* fix dynpro set/get parameter
* Dynpro Generation - Flag SET-/GET_PARAM
* Update zif_abapgit_definitions.intf.abap
* Update zif_abapgit_definitions.intf.xml
* add byte order mark back
* rename local constant to LC_
* improve error handling of function modules
* fix abaplint errors
* refactor to hardcoded error strings
* refactor fm error handling to string templates
* removing msag class
* add IDoc Segement support as part of TABL
IDoc Segement type/definition is just customizing and has no own transport object but it generates a structure and is coupled to it
The segment type/definitions have their own XML at the TABL object
* fix abaplint errors
* move segment type/defintion to TABL xml
Ignored files posses the property that they do not exist in remotes but do exist in local
repositories.
Before this patch, local ignored files were displayed in the Stage.
* Sapscript : sequence of Windows in tdlines files
Hello Lars,
You can find a code modification in the method _read_form of class zcl_abapgit_object_form related to the issue #2188
I have added a logic to sort by windows name the contains of the internal table ET_LINES . It allows to have always thre same sequence of windows code in the file (xxxxxxxxxxgit.form.tdlines). Then file comparison will work with all export.
Regards
Christophe
* Sapscript : sequence of Windows in tdlines files
Hello Lars,
I have moved the code to a new private method _sort_tdlines_by_windows
But I don't add 'ASSERT sy-subrc = 0.'.
The reason is that during my tests I found some windows in the form without elements inside (windows is not used anymore but it sill exists. The devlopper ddin't remove it). In this case the result of the ASSERT is a dump.
Using the loop from SY-TABIX there is no risk. If no entry exists in the internal table then the loop is not executed.
if needed I can add the following condition before doing the loop :
IF line_exists( lt_lines[ tdformat = lv_elt_windows
tdline = ls_form_windows-tdwindow ] ).
Christophe
* Sapscript : sequence of Windows in tdlines files
I have done the adjustments for the CLEAR and to be compatible with 702
Christophe
* Sapscript : sequence of Windows in tdlines files
Whitespace at end of line removed
* Package names validations
validate if package has more than 30 characters name and if root packages does not contain a package with the same name as his.
* Validate grandchildren package names
Method determine_max_threads of class zcl_abapgit_serialize did not return a value, when function Z_ABAPGIT_SERIALIZE_PARALLEL is not available. This commit will fix this.
* parallel serialization #1714
* use latest abaplint
* Update abaplint.json
* add function group
* fallback to sequential
* fix error when running in background mode
* SUSC: delete in more direct way - no confirm popup
delete needs to be done with a code copy of FM SUSR_DELETE_OBJECT_CLASS
I really hate this but there is no other way
* SUSC: delete in more direct way - no confirm popup
* test
* test
* naming conventions
* PP
* Implement facade for Change Transport System
* Render lock item in VIEW_REPO
* Add jump to SE01
* Display transport on stage page
* Optimize transport read on stage page
* Error handling CTS
* Fix indentation
* Disable transport column for local packages
* Code review changes
This commit refactors the logic from zcl_abapgit_syntax_check to the new class zcl_abapgit_adhoc_code_insp. Which can be used to run arbitrary code inspections adhoc. zcl_abapgit_syntax_check delegates to zcl_abapgit_adhoc_code_insp.
Additionally the new class zcl_abapgit_abap_unit_tests is introduced to run ABAP unit tests for a particular package (hierarchy). It can be acessed via zcl_abapgit_factory%3D>get_abap_unit_tests.
This commit adds an indirection for function module GUI_IS_AVAILABLE
via interface ZIF_ABAPGIT_GUI_FUNCTIONS and factory ZCL_ABAPGIT_UI_FACTORY.
For tests the implementation can be replaced with
ZCL_ABAPGIT_UI_INJECTOR=>SET_GUI_FUNCTIONS
* mark inactive objects in repo list
Inactive object are marked in the repo list
The sort order for changed files is not changed
unchanged inactive files come right after the changed files
* move acitve check to object interface
* add is_active for objects up to F
* add is_active for objects up to P
* add is_active for objects up to T
* add is_active for objects up to X
all core object implement (except SSFO) the standard active check via FM RS_INACTIVE_OBJECTS_WARNING now
* add is_active to plugins bridge - always active
* finish object interface implementation + objects
* add is_active for offline with object interface
* rename returning to RV_
* use returning for serialize
* cleanup, PP, UT
* add code line attribute for leading spaces
Use attribute abapgit-leadig-spaces to store leading spaces of coding lines at serialization. This is used in deserialization to restoreformatting after XML normalization.
* add attribute also for global types and forms
* fix code formatting
Before this commit is applied the FIX_IDS methods was errorneous
and lead to subsequent dump. This commit fixes the algorithm to
replace IDs and IDREFs
* pretty print
* definitions to top of routine
* space before .
* omit parameter names where possible
* double space after if
* remove pseudo comments where possible
* clear PRESP and PWORK
clear username fields PRESP and PWORK
* remove unused FM exceptions
if sy-subrc is analysed (only <> 0) no detailed FM exceptions are needed, only OTHERS
* set PRESP and PWORK on deserialization
PRESP and PWORK is not set to SY-UNAME by default so set it explicitly
* Object Type UDMO Data Model #1905
Support for Object Type UDMO Data Model #1905
* Object Type UDMO Data Model #1905
* Object Type UDMO Data Model #1905
* Object Type UDMO Data Model #1905 Bad formatting correction
* Object Type UDMO Data Model #1905 Bad formatting
* Object Type UDMO Data Model #1905 Reformulation
* Update package.json
* pretty print
Before this commit is applied DDLX source code was recorded
in the xml file. We changed this so that now a separte .asddls
file is created. The change is downward compatible. Previously
recorded DDLX objects will show a diff the next time and the new
.asddls file has to be committed.
* add smart response checks for ref discovery
Added content-type check and content regex check for reference discovery
see https://github.com/schacon/igithub/blob/master/http-protocol.txt
* move ref check constants to TRANSPORT class
the check constants - content regex and responce Content-Type - don't have to be global right now so moved from zif_abapgit_definitionsto zcl_abapgit_git_transport
* PP and activate
* removed popup saving msag
* fixed capitalization
* refactored with variable prefixes
* refactored exceptions and split methods
also removed S messages.
Previous code was mostly copy %26 paste of the original
* Cleaned up
* more cleanup
* enable ADT jump from CI result
* enable ADT jump from CI result for all objects
* cleanup + PP
* cleanup + PP + save/activate in ADT
* remove commented code
git patch, added to staging page
serialize all longtexts
ENQU clear redundant fields
suppress SHMA package popup
branch overview sorted by parent instead of time
handle error from RS_CUA_INTERNAL_FETCH
fix problem with branch list from bitbucket.org
allow empty blobs
* 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
* objects: use a different constant for 'R3TR'
The constant rs_c_pgmid_r3tr comes from the package RS which is not
available in pure BASIS systems.
The constant seok_pgmid_r3tr comes from the package SEOK and abapGit is
already using another constants from this package - seok_access_*.
Related to #1826
* objects: replace rs_c_true with abap_true
The constant rs_c_true comes from the package RS which is no available
in pure BASIS systems.
I believe that the constant rs_c_true was used by mistake.
The constant was assigned to a variable which is of the type abap_bool
and the variable is initialized with abap_false.
Related to #1826
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.
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
* 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".
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.
* 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
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
* 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
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>!