Commit Graph

430 Commits

Author SHA1 Message Date
René Pfeuffer
e1a2d27256 Implement file lock for git (#1838)
Adds a "file lock" command that can be used to mark files as locked by a specific user. This command is implemented for git using a store to keep the locks.

Additionally, the Git LFS locking API is implemented.

To display locks, the scm-manager/scm-file-lock-plugin can be used.

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2021-11-01 16:54:58 +01:00
René Pfeuffer
dbdf814d23 Add status code 401 to test rest dispatcher 2021-10-01 18:17:40 +02:00
Sebastian Sdorra
0a26741ebd One index per type and parallel indexing (#1781)
Before this change the search uses a single index which distinguishes types (repositories, users, etc.) with a field (_type).
But it has turned out that this could lead to problems, in particular if different types have the same field and uses different analyzers for those fields. The following links show even more problems of a combined index:

    https://www.elastic.co/blog/index-vs-type
    https://www.elastic.co/guide/en/elasticsearch/reference/6.0/removal-of-types.html

With this change every type becomes its own index and the SearchEngine gets an api to modify multiple indices at once to remove all documents from all indices, which are related to a specific repository, for example.

The search uses another new api to coordinate the indexing, the central work queue.
The central work queue is able to coordinate long-running or resource intensive tasks. It is able to run tasks in parallel, but can also run tasks which targets the same resources in sequence. The queue is also persistent and can restore queued tasks after restart.

Co-authored-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
2021-08-25 15:40:11 +02:00
Florian Scholdei
f274b7f4b2 Add handling when duplicated branch part cannot be created (#1692)
Add handling when duplicated branch cannot be created because a part of the name already exists as a branch
2021-06-09 14:58:59 +02:00
Eduard Heimbuch
dd0975b49a Feature/mirror (#1683)
Add mirror command and extension points.

Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
Co-authored-by: Konstantin Schaper <konstantin.schaper@cloudogu.com>
2021-06-04 14:05:47 +02:00
Sebastian Sdorra
9e45d8255d Fix sse for notifications behind nginx reverse proxy (#1650) 2021-05-10 08:57:46 +02:00
Sebastian Sdorra
b975fb655d Feature/global notifications (#1646)
Add global notifications
2021-05-05 14:43:16 +02:00
Eduard Heimbuch
8f91c217fc Add patch endpoint for global config (#1629)
Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
2021-04-28 08:47:29 +02:00
Sebastian Sdorra
8f2272885b Metrics for events (#1601)
Updates legman to version 2, which allows the usage of the MicrometerPlugin. The plugin will collect metrics for subscriber invocations and the underlying executor.

Furthermore this change will fix the usage of wrong subject context in the asynchronous events.
2021-03-24 15:54:29 +01:00
Eduard Heimbuch
9a057ec655 Add missing dependencies to module "scm-test" (#1598)
These are needed for the unit tests inside plugins.
2021-03-19 09:26:42 +01:00
Eduard Heimbuch
7852d1034e Fix build warnings (#1562)
Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2021-03-01 09:08:01 +01:00
René Pfeuffer
0695ca3bac Add import protocol (#1558)
Adds a protocol for repository imports (either from an URL, a dump file or a SCM-Manager repository archive).
This protocol documents single steps of an import, the time and the user and is accessible via a dedicated REST
endpoint or a simple ui.

The id of the log is added to the repository imported event, so that plugins like the landingpage or mail can link to these logs.
2021-02-26 13:52:29 +01:00
Eduard Heimbuch
db2ce98721 Feature/import export encryption (#1533)
Add option to encrypt repository exports with a password and add possibility to decrypt them on repository import. Also make the repository export asynchronous. This implies that the repository export will be created on the server and can be downloaded multiple times. The repository export will be deleted automatically 10 days after creation.
2021-02-25 13:01:03 +01:00
René Pfeuffer
ee02ba096f Mark config entry stores explicitly in exports (#1545)
The default (XML) store of SCM-Manager does not distinguish between config and config entry stores in regards to
storage locations. Nonetheless, we want to make a difference in export files, so that other store providers can handle
these stores differently. To do so, this change adds an attribute to the top level xml element of config entry stores
to mark them. In exports, these store files can now be exported in a different folder. To mark existing stores, this
introduces an update step.
2021-02-23 09:37:59 +01:00
René Pfeuffer
e0d2630a08 Feature repository specific data migration (#1526)
This adds a new migration mechanism for repository data. Instead of using UpdateSteps for all data migrations, repository data shall from now on be implemented with RepositoryUpdateSteps. The general logic stays the same. Executed updates are stored with the repository. Doing this, we can now execute updates on imported repositories without touching other data. This way we can import repositories even though they were exported with older versions of SCM-Manager or a plugin.
2021-02-10 08:12:48 +01:00
Sebastian Sdorra
17706161ba Use Java 11 for build but 8 as target platform 2021-01-14 12:01:33 +01:00
Sebastian Sdorra
8c27af2661 Remove maven build related files 2021-01-14 12:01:30 +01:00
Sebastian Sdorra
5c379a5bb4 Align dependency configurations and versions 2021-01-14 11:56:05 +01:00
Sebastian Sdorra
7e6257ec48 Compile and test scm-webapp 2021-01-14 11:55:27 +01:00
Sebastian Sdorra
18a0bcb317 Migrate module scm-test 2021-01-14 11:55:27 +01:00
CES Marvin
374d085fdd prepare for next development iteration 2020-12-17 15:24:34 +00:00
CES Marvin
38a7ff6acb release version 2.12.0 2020-12-17 14:55:08 +00:00
René Pfeuffer
8e3b0e4145 Archive repository (#1477)
This adds a flag "archived" to repositories. Repositories marked with this can no longer be modified in any way. To do this, we switch to a new version of Shiro Static Permissions (sdorra/shiro-static-permissions#4) and specify a permission guard to check for every permission request, whether the repository in question is archived or not. Further we implement checks in stores and other activies so that no writing request may be executed by mistake.

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2020-12-16 10:58:29 +01:00
CES Marvin
56c63cb5b7 prepare for next development iteration 2020-12-07 15:01:20 +00:00
CES Marvin
baf04a551c release version 2.11.1 2020-12-07 14:24:49 +00:00
CES Marvin
87d06a708b prepare for next development iteration 2020-12-04 08:10:20 +00:00
CES Marvin
df62ffbe16 release version 2.11.0 2020-12-04 07:27:13 +00:00
CES Marvin
4752fdeea1 prepare for next development iteration 2020-11-24 18:59:15 +00:00
CES Marvin
b283f782ab release version 2.10.1 2020-11-24 18:22:43 +00:00
CES Marvin
9baa1f930b prepare for next development iteration 2020-11-20 10:22:37 +00:00
CES Marvin
a4d0771f6f release version 2.10.0 2020-11-20 09:36:03 +00:00
CES Marvin
59e28ec313 prepare for next development iteration 2020-11-11 17:48:56 +00:00
CES Marvin
bc4c2df27c release version 2.9.1 2020-11-11 17:15:36 +00:00
CES Marvin
9930d82d32 prepare for next development iteration 2020-11-06 08:40:11 +00:00
CES Marvin
ea6e24c212 release version 2.9.0 2020-11-06 08:05:48 +00:00
CES Marvin
520db79a38 prepare for next development iteration 2020-10-27 08:35:13 +00:00
CES Marvin
1db75f4cf3 release version 2.8.0 2020-10-27 08:00:25 +00:00
CES Marvin
bb9f1adc52 prepare for next development iteration 2020-10-14 12:38:13 +00:00
CES Marvin
eb126a5bbe release version 2.7.1 2020-10-14 12:03:24 +00:00
CES Marvin
befd50eeef prepare for next development iteration 2020-10-12 13:26:08 +00:00
CES Marvin
abe8413802 release version 2.7.0 2020-10-12 12:41:15 +00:00
CES Marvin
bc7d4ed9f6 prepare for next development iteration 2020-09-30 08:15:47 +00:00
CES Marvin
5887c5c268 release version 2.6.1 2020-09-30 07:32:54 +00:00
CES Marvin
4e7d62ce2f prepare for next development iteration 2020-09-25 10:05:04 +00:00
CES Marvin
e2f8566a8b release version 2.6.0 2020-09-25 09:25:13 +00:00
Sebastian Sdorra
7ba7147d27 Fix potential vulnerability
Fixes a potential vulnerability that allows to overwrite files outside the plugin directory using a manipulated SMP archive.
2020-09-15 09:48:35 +02:00
CES Marvin
93f240e087 prepare for next development iteration 2020-09-11 06:21:29 +00:00
CES Marvin
fab108c3b7 release version 2.5.0 2020-09-11 05:46:15 +00:00
CES Marvin
a66ae32b61 prepare for next development iteration 2020-09-01 14:26:34 +00:00
CES Marvin
6913f642a1 release version 2.4.1 2020-09-01 13:52:15 +00:00