Commit Graph

3473 Commits

Author SHA1 Message Date
Eduard Heimbuch
e283195530 Fix permission check on branch deletion (#1515) 2021-02-01 14:48:19 +01:00
Sebastian Sdorra
4202178c01 Fix usage of custom realm description for scm protocols (#1512)
Fixes missing usage of custom realm description for scm client operations.

Fixes #1487
2021-01-29 07:59:18 +01:00
Eduard Heimbuch
1115cae81b fix unit tests 2021-01-28 16:03:40 +01:00
Eduard Heimbuch
8ea24e796b remove type from full export endpoint 2021-01-28 14:56:20 +01:00
Eduard Heimbuch
845f0688f7 Use proper repository file extension on import/export with metadata 2021-01-28 14:35:45 +01:00
Eduard Heimbuch
c3ab6bc5d5 Bundle and unbundle command for mercurial (#1511)
Support for exporting and importing mercurial repositories as tar ball

Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2021-01-28 13:09:47 +01:00
René Pfeuffer
bd3671b428 Use repository specific work dirs (#1510)
With this change, work dirs are created in the
directory of the repository and no longer in the
global scm work dir directory. This is relevant due
to two facts:

1. Repositories may contain confidential data and therefore
   reside in special directories (that may be mounted on
   special drives). It may be considered a breach when these
   directories are cloned or otherwise copied to global
   temporary drives.
2. Big repositories may overload global temp spaces. It may be
   easier to create special drives with more space for such
   big repositories.
2021-01-28 12:53:39 +01:00
Eduard Heimbuch
0046c78b40 Git import and export (#1507)
* create git bundle command

* create git unbundle command

* Apply suggestions from code review

Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2021-01-28 12:35:18 +01:00
Eduard Heimbuch
d91c71ace1 Add the repository import and export with metadata for Subversion repositories (#1501)
* Add store exporter to collect the repository metadata
* Add EnvironmentInformationXmlGenerator
* Collect export data and put into compressed tar archive output stream
* Create full repository export endpoint.
* Add full repository export to ui
* Ignore irrelevant files from config store directory
* write metadata stores to file since a baos could teardown the server memory
* Migrate store name for git lfs files (#1504)

Changes the directory name for the git LFS blob store by
removing the repository id from the store name.

This is necessary for im- and exports of lfs blob stores,
because the original name had the repository id as a part
of it and therefore the old store would not be found when
the repository is imported with another id.

Existing blob files will be moved to the new store location
by an update step.

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>

* Introduce util for migrations (#1505)

With this util it is more simple to rename
or delete stores.

* Rename files in export

Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2021-01-28 11:40:35 +01:00
Konstantin Schaper
94304f96a3 migrate integration tests to bdd (#1497)
Migrates the existing e2e tests towards a cucumber bdd-style and utilizes the integration-test-runner package.

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2021-01-26 12:58:48 +01:00
Konstantin Schaper
ed6d9a0df0 add explicit provider setup for bouncy castle (#1500)
When upgrading JGit, the automatic provider declaration was removed. This led to a runtime error where the provider for gpg signatures could not be found. This PR reintegrates the provider setup for the Bouncy Castle GPG Provider.
2021-01-21 14:34:13 +01:00
René Pfeuffer
664d9f5156 Suppress irrelevant warning 2021-01-15 17:40:59 +01:00
René Pfeuffer
cbb95ad107 Validate type parameter 2021-01-14 14:22:24 +01:00
René Pfeuffer
f9aa2b529e Validate type parameter 2021-01-14 13:09:02 +01:00
Sebastian Sdorra
bac430163f Fix missing resources for integration tests 2021-01-14 12:01:34 +01:00
Sebastian Sdorra
6b30da247a Move scm-webapp integration tests to scm-it 2021-01-14 12:01:34 +01:00
Sebastian Sdorra
ee879b7fb0 Generate openapi spec for scm-webapp 2021-01-14 12:01:33 +01:00
Sebastian Sdorra
d6b655f430 Use custom logback configuration for serve task 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
7e6257ec48 Compile and test scm-webapp 2021-01-14 11:55:27 +01:00
René Pfeuffer
c58bd2f664 Include JRE version in plugin center url (#1494) 2021-01-13 09:18:28 +01:00
Eduard Heimbuch
adf7bac665 Subversion repository export
Add the repository export function for Subversion repositories. The repository will be exported as dump file which can be downloaded directly or inside a gzip compressed archive.
2021-01-08 09:19:33 +01:00
Sebastian Sdorra
dda761ffc2 Fix unit tests on Java 11 (#1483)
The unit test I18nServlet and MultiParentClassLoaderTest are failing on Java 11.
This is because they mock ClassLoaders which cause a jvm error.

The following tickets describe the problem in more detail:

- https://bugs.openjdk.java.net/browse/JDK-8254969
- https://github.com/mockito/mockito/issues/2043
- https://github.com/mockito/mockito/issues/1696
2020-12-18 14:23:36 +01:00
Sebastian Sdorra
07ec042f22 Fix accidentally blocked requests with non ascii characters (#1480) 2020-12-17 12:03:31 +01:00
Sebastian Sdorra
b61d817c9c Implement mercurial cgi protocol as extension (#1458)
* Handle mercurial cgi protocol with an hg extension
* Refactor CGI executor to allow command arguments
* Unify python scripts and hg extensions
* Implement new auto configuration
* Use HKEY_LOCAL_MACHINE instead of
  HKEY_CURRENT_USER registry keys to find mercurial
  installations on windows
2020-12-17 10:07:20 +01: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
Florian Scholdei
88b93dc8b8 Feature/profile navigation (#1464)
- Fix bug where profile settings wasn't shown if user cannot change password
- Add missing "ApiKey" entry in the single user menu

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2020-12-16 09:23:05 +01:00
Konstantin Schaper
16c76285c0 add repository import via dump for subversion
Subversion repositories can be imported from dump files (backups). Just upload your dump file and check if your file is compressed on the import form for Subversion. The repository will be imported synchronously and you will be redirected to the new repository after the import is finished.
2020-12-14 11:46:35 +01:00
Eduard Heimbuch
a4f559f9c1 Downgrade Jenkins JDK version to Java 8 (#1473)
* Downgrade Jenkins JDK version to Java 8

The unit tests cannot run properly with Java 11.
We have to downgrade our image to use Java 8
instead until we have fixed this issue.

* Fix unit tests that have not been adapted during
   the failed builds

Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2020-12-14 11:40:50 +01:00
Eduard Heimbuch
821cca2a06 cleanup 2020-12-10 16:22:39 +01:00
Eduard Heimbuch
2e505d5cfb fix reading inputstream from input form 2020-12-10 13:57:21 +01:00
Eduard Heimbuch
097237734e Append import bundle link to repository type if unbundle command is supported 2020-12-10 10:36:30 +01:00
Eduard Heimbuch
89add3f795 Add bundle endpoint to repository import resource 2020-12-10 10:27:03 +01:00
René Pfeuffer
eaf59f91c4 Harmonize logging string for repositories 2020-12-04 11:48:32 +01:00
Sebastian Sdorra
0ade91ac85 Use mapper and improve validation
We have to use the repository mapper in order to fix missing fields contact and description in the created repository.
Use bean validation to ensure correct validation and require import url.
2020-12-03 11:06:53 +01:00
Eduard Heimbuch
09c13100dd cleanup 2020-12-03 08:54:56 +01:00
Eduard Heimbuch
60cdc6f8cf Merge branch 'develop' into feature/import_git_from_url 2020-12-02 14:39:45 +01:00
Eduard Heimbuch
dffe466405 split AddRepository component into two separate components to simplify the state handling 2020-12-02 13:26:31 +01:00
Eduard Heimbuch
7db33d2e65 Mind review findings 2020-12-02 10:47:48 +01:00
Konstantin Schaper
967de2160c fix sonarqube warnings 2020-12-02 10:11:53 +01:00
Eduard Heimbuch
e7b7bf5b0f fix repository permission error 2020-12-01 16:40:29 +01:00
Konstantin Schaper
9ec8b4efac fix review findings 2020-12-01 15:16:55 +01:00
Eduard Heimbuch
b40bfd8fe2 Merge branch 'develop' into feature/import_git_from_url 2020-12-01 12:18:13 +01:00
Konstantin Schaper
e8044747e3 fix review findings 2020-12-01 11:18:19 +01:00
Konstantin Schaper
94a6ffcb04 fix merge error 2020-12-01 09:18:40 +01:00
Konstantin Schaper
2d8b744299 Merge branch 'develop' into feature/manage-tags
# Conflicts:
#	scm-webapp/src/main/java/sonia/scm/api/v2/resources/DefaultChangesetToChangesetDtoMapper.java
#	scm-webapp/src/main/java/sonia/scm/api/v2/resources/TagDto.java
2020-12-01 09:17:11 +01:00
Konstantin Schaper
f0f9aad8de make method name clearer 2020-12-01 09:12:47 +01:00
Eduard Heimbuch
af9f6ab629 refactor UI 2020-12-01 08:53:56 +01:00
Sebastian Sdorra
d5cec1c000 Fixed unexpected mercurial server pool stop 2020-11-30 16:23:44 +01:00
Konstantin Schaper
843e989ed6 fix tag link 2020-11-30 16:01:43 +01:00