Commit Graph

2413 Commits

Author SHA1 Message Date
Rene Pfeuffer
45801c9813 Remove unused class IterableQueue
Co-authored-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
2024-12-19 09:14:37 +01:00
Rene Pfeuffer
4ebf0e2044 Adds 'head' as revision for Subversion repositories
To still support the editor plugin, a new field in the
browse command results is needed to indicate, whether
such a result or rather the requested revision can be
modified by a new commit.

This is the case, when
- for Subversion repositories either the new 'head' or the
latest revision has been requested, or
- for Git and HG when a branch (or the default by specifying
no concrete revision) has been used.
2024-11-05 10:54:49 +01:00
Rene Pfeuffer
afdaee0442 Add tag guard 2024-10-16 16:14:22 +02:00
Viktor Egorov
b0521d2c4f Add provider for source links
Pushed-by: Viktor Egorov<viktor.egorov-extern@cloudogu.com>
Pushed-by: Rene Pfeuffer<rene.pfeuffer@cloudogu.com>
Co-authored-by: Viktor<viktor.egorov@triology.de>
Co-authored-by: Thomas Zerr<thomas.zerr@cloudogu.com>
Co-authored-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
Committed-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
2024-09-30 09:43:49 +02:00
Rene Pfeuffer
e6433d01d1 Change to GNU Affero General Public License v3.0 2024-09-24 09:42:07 +02:00
Viktor Egorov
f95579c102 Add missing change types to diff statistics 2024-09-20 10:04:23 +02:00
Thomas Zerr
8f0ed74b7a Add table to diff view
Pushed-by: Florian Scholdei<florian.scholdei@cloudogu.com>
Pushed-by: Viktor Egorov<viktor.egorov-extern@cloudogu.com>
Pushed-by: k8s-git-ops<admin@cloudogu.com>
Committed-by: Thomas Zerr<thomas.zerr@cloudogu.com>
Co-authored-by: Viktor<viktor.egorov@triology.de>
Co-authored-by: Thomas Zerr<thomas.zerr@cloudogu.com>
Pushed-by: Thomas Zerr<thomas.zerr@cloudogu.com>
2024-09-16 17:52:10 +02:00
Rene Pfeuffer
96466807be Compute files with conflicts in merge dry run
Pushed-by: Rene Pfeuffer<rene.pfeuffer@cloudogu.com>
Co-authored-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
2024-09-13 10:21:06 +02:00
Tarik Gürsoy
797bda4bbb Add statistics for diffs (added, deleted, modified)
Extend the diff result from the diff command to include modified,
added and deleted file count and add DiffStats component to
ui-components.

Pushed-by: Rene Pfeuffer<rene.pfeuffer@cloudogu.com>
Pushed-by: Tarik Gürsoy<tarik.guersoy@cloudogu.com>
Co-authored-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
Co-authored-by: Tarik Gürsoy<tarik.guersoy@cloudogu.com>
2024-08-01 16:54:40 +02:00
Laura Gorzitze
b12f4d579a Notification if external user management is activated
A notification will be displayed when an external user
management system is activated to inform that users
created within the SCMM will not be transferred to the
external system.

Co-authored-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
2024-07-04 09:05:17 +02:00
Rene Pfeuffer
1c57342cd9 Catch exceptions from trace exporters
This prevents errors in exporters (like the trace plugin) to escalate. In a specific case it could happen, that due to the cas plugin and the trace plugin the login failed when the trace file for cas was corrupt, because the trace monitor filed to log the cas request and threw an exception due to which the whole login process through cas was blocked.

Pushed-by: Rene Pfeuffer<rene.pfeuffer@cloudogu.com>
Co-authored-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
2024-07-03 10:59:00 +02:00
Eduard Heimbuch
29a6b42fce Check for external merge tools during merge
Co-authored-by: Thomas Zerr<thomas.zerr@cloudogu.com>
Co-authored-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
2024-06-25 05:50:04 +02:00
Eduard Heimbuch
d55f5deda7 Fix unit tests 2024-05-23 08:21:36 +02:00
Thomas Zerr
09d72280d0 Fix exact search
Previously a query was only parsed by lucene as it is, if the query
contained a colon (:) or a wildcard character (*). With this, every query
gets parsed as it is, as long as there is one operator contained inside
the query (colon, quotation marks, logical operators, ...). These are
called "expert queries". All other queries are still processed as
"simple queries" where every part of the query is extended with a
wildcard operator.

Addtionally the user is now getting feedback for every
search, if the query is a simple query or an expert query. The syntax
documentation got also extended with the quotation mark operator
and the definition of the two query types.

Co-authored-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
2024-05-14 11:45:10 +02:00
Viktor Egorov
c8ef99cf07 Add option to hide whitepace changes in diffs
Co-authored-by: Florian Scholdei<florian.scholdei@cloudogu.com>
Co-authored-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>


Reviewed-by: Florian Scholdei <florian.scholdei@cloudogu.com>
2024-05-14 11:33:48 +02:00
Thomas Zerr
6fbde760d4 Fix double /trunk folder bug
With this change, every repository initializer gets its own modification command and therefore its own commit. This allows each initializer to decide on its own, if he want to use the default path of the repository.
2024-04-30 15:28:08 +02:00
Laura Gorzitze
8d12862ff8 Display all tags for changeset
Display of all tags (as links to the  overview of the specific tag) of a given changeset in the changeset detail view.
2024-03-11 17:09:59 +01:00
Laura Gorzitze
a61f840b0e Description for plugin condition mismatch
The missing description of the plugin condition in the
logs during a condition mismatch is now included and
also displayed in a readable way. Additionally, a
specialised error will be displayed during the installation
or update of plugins detailing that a condition mismatch
happened and also which condition was not fulfilled
instead of a generic internal server error.
2024-02-22 18:19:44 +01:00
Eduard Heimbuch
89c4a20dd5 Add namespace owner on namespace creation
Namespace owner may see the namespace configuration page.

Committed-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
2024-02-08 14:18:16 +01:00
Laura Gorzitze
d8e1f2d739 Cleanup Code
Pushed-by: Rene Pfeuffer<rene.pfeuffer@cloudogu.com>
Co-authored-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
2024-02-06 14:54:00 +01:00
Florian Scholdei
7f0da35659 Mail validation in frontend and backend unified
Pushed-by: Florian Scholdei<florian.scholdei@cloudogu.com>
Co-authored-by: Florian Scholdei<florian.scholdei@cloudogu.com>
2024-01-09 16:53:18 +01:00
René Pfeuffer
314fb02823 Fix workdir configuration 2023-12-20 16:31:41 +01:00
Eduard Heimbuch
d0c43dd9f4 Improve server config documentation and cleanup 2023-12-18 15:30:57 +01:00
Eduard Heimbuch
cf4d9cf20f 3.x
Committed-by: Eduard Heimbuch<eduard.heimbuch@cloudogu.com>
Pushed-by: Rene Pfeuffer<rene.pfeuffer@cloudogu.com>
Co-authored-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
Pushed-by: Eduard Heimbuch<eduard.heimbuch@cloudogu.com>
Committed-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
2023-11-30 17:02:44 +01:00
Rene Pfeuffer
571e6ad92f Add a modifications provider for hooks
This new modifications provider consistently computes the modifications caused by a push to a branch. In contrast to the changeset provider that often has been used before to check what has changed, this also works for forced updates, rebased branches and fast-forwards.&#10;&#10;Because these types of changes are normally only used with git, this provider (for now) has only been implemented for git.

Pushed-by: Rene Pfeuffer<rene.pfeuffer@cloudogu.com>
Pushed-by: Alexander Dammeier<alexander.dammeier@cloudogu.com>
Co-authored-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
Committed-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
2023-11-16 13:18:40 +01:00
Florian Scholdei
a8c32b10de Preferred checkout variant
Add ability to prioritize the repository checkout variants. These are displayed sorted.

Co-authored-by: Eduard Heimbuch<eduard.heimbuch@cloudogu.com>
Pushed-by: Florian Scholdei<florian.scholdei@cloudogu.com>
Co-authored-by: Florian Scholdei<florian.scholdei@cloudogu.com>
Pushed-by: Eduard Heimbuch<eduard.heimbuch@cloudogu.com>
2023-11-15 13:27:48 +01:00
Eduard Heimbuch
8dc0041e17 Remove mail for anonymous user 2023-11-13 16:19:15 +01:00
Thomas Zerr
123fc4c3d1 Invalidation of caches and search index
In the general admin settings, the user can find two button to either invalidate the cache or rebuild the search index.&#10;&#10;The endpoints are defined in the InvalidationResource class in scm-webapp.

Co-authored-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
2023-11-02 10:51:32 +01:00
Rene Pfeuffer
d0f8161220 Add functionality to modify repository storage locations
The repository location resolver gets a new function&#10;that allows to change the location of a repository.

Pushed-by: Rene Pfeuffer<rene.pfeuffer@cloudogu.com>
Co-authored-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
Committed-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
2023-10-13 10:23:29 +02:00
Rene Pfeuffer
2ca68c43b3 Add update steps for namespaces
This adds a new update step API dedicated&#10;to handle namespace related data.

Pushed-by: Rene Pfeuffer<rene.pfeuffer@cloudogu.com>
Co-authored-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
Committed-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
2023-10-05 11:00:20 +02:00
Thomas Zerr
0dc738d849 Added autoMask property
The AuditEntry annotation recevied a new property called autoMask. If that property is set to true, then fields get automatically masked in the audit log, if the field name contain certain phrases.

Co-authored-by: Thomas Zerr<thomas.zerr@cloudogu.com>
Pushed-by: Thomas Zerr<thomas.zerr@cloudogu.com>


Reviewed-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
2023-10-04 14:25:35 +02:00
Rene Pfeuffer
d2a0525b0b Catch exception when repositories are deleted
Committed-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2023-09-19 09:30:14 +02:00
Thomas Zerr
b2472d85d0 Added force to push command for git and hg repos
Committed-by: Rene Pfeuffer <rene.pfeuffer@cloudogu.com>
2023-09-14 20:28:37 +02:00
Eduard Heimbuch
93a23466ff Fix cypress by using new stage "TESTING"
Cypress did not work because of the stricter security header. We introduced a new stage named "TESTING" which ignores this security headers and allow testing tools to work as intended.

Committed-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
2023-09-08 15:19:54 +02:00
Thomas Zerr
1750eae2d1 Fix marshalling invalid XML characters
If someone tries to persist data with invalid XML characters, they now get filtered out.

Committed-by: Rene Pfeuffer <rene.pfeuffer@cloudogu.com>
2023-08-10 14:20:07 +02:00
Eduard Heimbuch
c1d7230fbd Add "enable file search" flag on global config.
Make the repository file search deactivatable
via the global config. This feature could
overwhelm the server on repositories with
millions of file therefore it now can be turned off.

Committed-by: Rene Pfeuffer <rene.pfeuffer@cloudogu.com>
Co-authored-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
2023-07-06 08:47:51 +02:00
Eduard Heimbuch
0e7a3ec53b Improve general performance
- Adjust logging
- Optimize cache speed
- Cleanup classes

Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>

Reviewed-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2023-06-28 14:18:18 +02:00
Eduard Heimbuch
cc54e2ce6b Caches for internal stores and files
This adds optional caches for configuration stores and
backing data files for data stores.

These stores can be enabled using the system properties
`scm.storeCache.enabled=true` and `scm.cache.dataFileCache.enabled=true`.

In addition, this adds the possibility to overwrite cache configurations
from the guice cache (see file `gcache.xml`) with system properties.
The maximum size of the external group cache for example can be
overwritten with the system property `scm.cache.externalGroups.maximumSize`.

Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2023-06-28 12:38:15 +02:00
Rene Pfeuffer
5c505457bb Implement delete for audit log wrapper
This fixes errors when deleting configurations.
The error occured during "unmirror" in the mirror plugin.

Committed-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2023-06-08 10:30:37 +02:00
Rene Pfeuffer
86b8be9f17 In-memory implementations of the store api using JaxB
The new implementations are ment to be used in test
classes replacing the older implementations like
`InMemoryConfigurationStoreFactory`. The benefit
of these new classes is that the serialization using JaxB
is testet implicitly avoiding mistakes made with XML
annotations on the data classes.

Committed-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2023-06-07 10:04:50 +02:00
Eduard Heimbuch
a50e456969 Ignore duplicate contributors for single changeset
Committed-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
2023-05-25 19:26:38 +02:00
Konstantin Schaper
b812922142 Implement namespace configurations & permissions
Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>

Reviewed-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2023-05-25 18:51:29 +02:00
Eduard Heimbuch
c6df84557b Refactor general configuration
Use standard configuration store api for general configuration. This is best practice and also required for the audit log to work properly.

Besides that we still need to load the general configuration manually for the instance injection binding in ScmServletModules. Since the instance injection does not resolve the bindings regularly we need also still need to update the injectable scm config using the "load" hack in the resource.

Committed-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
2023-04-12 12:37:52 +02:00
Eduard Heimbuch
aa78cb6f03 Cleanup hg permissions 2023-04-11 09:02:09 +02:00
Rene Pfeuffer
8eb2687e10 Fix branch and tag name validation
The validation for branch and tag names has been
too limited. This led to errors in the frontend for
branches, that had been created using the
cli tools for git or hg but have not been seen as
valid by SCM-Manager.

To fix this, the patterns to validate branch and
tag names are relaxed and relate to the git
rules (https://git-scm.com/docs/git-check-ref-format).
Because these rules could not be expressed
using regular expressions alone, in addition
possible exceptions will be handled in the
git branch and tag commands.

Committed-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
Co-authored-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
2023-04-05 11:45:15 +02:00
Eduard Heimbuch
026ffa18fd Replace static mercurial permission handling
Replace our own hg permission handling with the default hg permission which is controlled by the `web` config
2023-04-03 09:47:15 +02:00
Rene Pfeuffer
796330f883 Fix NotFoundExceptions with SVN externals
Committed-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2023-03-21 16:10:04 +01:00
Eduard Heimbuch
b511789620 Fix audit log issues:
- Use store name as label for repository related changes if no explicit labels are set.
- Introduce 'ignore' flag
- Fix missing call to store
- Create audit logs for permissions
- Set flex attributes for input field to use full available space

Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
Co-authored-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
2023-03-21 12:03:51 +01:00
Eduard Heimbuch
2f0b46f615 Remove dependency locks 2023-03-10 13:48:55 +01:00
Rene Pfeuffer
f3027ba9f8 Update resteasy to 4.5.9.Final
Committed-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2023-03-10 08:29:34 +01:00