Commit Graph

11830 Commits

Author SHA1 Message Date
Eduard Heimbuch
96658046ff Merge branch 'develop' of github.com:scm-manager/scm-manager into develop 2021-03-02 14:00:13 +01:00
Eduard Heimbuch
2a425af205 Fix redirect after logout 2021-03-02 13:59:07 +01:00
René Pfeuffer
e295be20bf Suppress sonar cipher warning 2021-03-02 08:11:08 +01:00
Eduard Heimbuch
bac8ee246c Add publish config to ui-api package 2021-03-01 14:21:03 +01:00
CES Marvin
fe73d46e08 Prepare for next development iteration 2021-03-01 13:01:50 +00:00
CES Marvin
caf29c555b Merge branch 'master' into develop 2021-03-01 13:01:29 +00:00
CES Marvin
a25fd7acbb Release version 2.14.0 2.14.0 2021-03-01 12:32:32 +00:00
Eduard Heimbuch
89d5819117 Adjust changelog for release 2.14.0 2021-03-01 13:22:33 +01:00
René Pfeuffer
1f78e2fbd7 Suppress irrelevant warning 2021-03-01 09:22:56 +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
d19f61735b Merge branch 'feature/import_protocol' of github.com:scm-manager/scm-manager into feature/import_protocol 2021-02-26 12:33:00 +01:00
René Pfeuffer
4ceb9c1b8c Wrap event 2021-02-26 12:30:08 +01:00
Eduard Heimbuch
3edcb8c095 Merge branch 'feature/import_protocol' of github.com:scm-manager/scm-manager into feature/import_protocol 2021-02-26 12:04:41 +01:00
René Pfeuffer
5b9a445cb3 Send import event on full import 2021-02-26 12:04:29 +01:00
Eduard Heimbuch
ebc721f128 Merge branch 'develop' into feature/import_protocol 2021-02-26 11:24:22 +01:00
René Pfeuffer
3d97e79524 Replace printStackTrace with correct logging 2021-02-26 11:23:38 +01:00
René Pfeuffer
1d674055c8 Write success only once 2021-02-26 11:08:03 +01:00
René Pfeuffer
d4c5436c4c Fix unit tests after rebase 2021-02-26 11:08:03 +01:00
René Pfeuffer
e2cd0a8eeb Check log permission before returning stream 2021-02-26 11:08:03 +01:00
René Pfeuffer
97c2165a52 User blob store instead of data store 2021-02-26 11:08:00 +01:00
René Pfeuffer
89e573ad72 Log change 2021-02-26 11:04:50 +01:00
René Pfeuffer
c3a5dd4ffb Add page for import logs 2021-02-26 11:04:50 +01:00
René Pfeuffer
75ed038084 Use repository id as id for import log 2021-02-26 11:04:48 +01:00
René Pfeuffer
d42560aba3 Add log id to imported event 2021-02-26 10:48:06 +01:00
René Pfeuffer
8f5fcf6911 Guard import log 2021-02-26 10:42:35 +01:00
René Pfeuffer
8170d981cd Add unit test for log output 2021-02-26 10:42:35 +01:00
René Pfeuffer
b7fa1d77b2 Fix unit test for import resource 2021-02-26 10:42:35 +01:00
René Pfeuffer
51ed267ada Write import protocol at the end 2021-02-26 10:42:34 +01:00
René Pfeuffer
1b3320dfe9 Add permission check 2021-02-26 10:42:34 +01:00
René Pfeuffer
1d74df6596 Set repository type in log 2021-02-26 10:42:34 +01:00
René Pfeuffer
074f119a0d Add rest endpoint for import log 2021-02-26 10:42:34 +01:00
René Pfeuffer
33cddda172 Add logging for url and dump import 2021-02-26 10:42:34 +01:00
René Pfeuffer
468b37f725 Move import logic to dedicated classes 2021-02-26 10:42:34 +01:00
René Pfeuffer
bfb6a39631 Simple approach for import logs 2021-02-26 10:42:32 +01:00
Eduard Heimbuch
ac404b3cdd Migrate unit tests to junit 5 to fix local flappy behaviour 2021-02-26 10:37:29 +01:00
Sebastian Sdorra
888f5d699b Fire RepositoryImportHookEvent instead of PostReceiveRepositoryHookEvent (#1561)
We will fire an RepositoryImportHookEvent instead of PostReceiveRepositoryHookEvent for repository imports with metadata. The event is only fired if all parts of the repository could be successfully imported. The extra event is required to avoid heavy recalculations which can be triggered by the PostReceiveRepositoryHookEvent for example the scm-statistic-plugin uses the PostReceiveRepositoryHookEvent to calculate its statistics.

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2021-02-26 09:49:34 +01:00
René Pfeuffer
c8621061bf Overwrite files on import 2021-02-25 17:29:14 +01:00
René Pfeuffer
ff4d9224f9 Decrypt import only if password is given 2021-02-25 17:29:02 +01:00
Eduard Heimbuch
1ffeeb035d Improve translations for repository export permissions 2021-02-25 14:22:52 +01:00
Eduard Heimbuch
972cfd312b Small improvements on export information 2021-02-25 14:17:08 +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
Sebastian Sdorra
367d7294b8 Enable refetch on focus (#1559)
During the integration of react-query we had to disable the refetch on focus option, because it has cleared our input fields on refocusing the browser tab. This problem comes mostly from a wrong use of routes. Often routes were used with the component prop and a anonymous function e.g.:

```jsx
<Route path="/my/route" component={() => <AwesomeComponent />} />
```

This triggers not only rerendering but remounting of the route component every time the parent is rerendered. With the ongoing work on the migration from redux to react-query, we have removed the usage of routes with component functions. So we can now safely enable the option refetch on mount of react-query.
2021-02-25 08:30:23 +01:00
René Pfeuffer
3c94ce91d6 Set update step info for new repositories (#1554)
Sets versions for repository update steps to newest versions for new repositories to prevent unnecessary updates.
2021-02-25 08:12:16 +01:00
Konstantin Schaper
3a8d031ed5 Introduce stale while revalidate pattern (#1555)
This Improves the frontend performance with stale while
revalidate pattern.

There are noticeable performance problems in the frontend that
needed addressing. While implementing the stale-while-revalidate
pattern to display cached responses while re-fetching up-to-date
data in the background, in the same vein we used the opportunity
to remove legacy code involving redux as much as possible,
cleaned up many components and converted them to functional
react components.

Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2021-02-24 08:17:40 +01:00
Sebastian Sdorra
ad5c8102c0 Reenable SonarQube analysis for pull requests (#1556) 2021-02-23 10:22:37 +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
Eduard Heimbuch
83a9c90130 Post receive hook after import (#1544)
Fire post receive repository hook event after pull from remote
and after unbundle (Git, HG and SVN)

Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2021-02-22 09:20:15 +01:00
René Pfeuffer
eef74e3a50 Fix flappy test 2021-02-19 09:42:59 +01:00
René Pfeuffer
d0df8977ef Bugfix for long filenames in tar (#1552)
Fixes errors with long file names in tar archives. This may arise with hg repositories with deep directories.
2021-02-18 16:30:35 +01:00