Commit Graph

11775 Commits

Author SHA1 Message Date
Eduard Heimbuch
fa46440960 Fix filter redirect on paginated overview page (#1535)
Fix unnecessary redirect on paginated overview pages which cuts the page number from url.
2021-02-16 08:05:09 +01:00
René Pfeuffer
3146e32a8e Remove unnecessary fields from dto 2021-02-15 16:24:36 +01:00
Eduard Heimbuch
5ea28a84fc Change file order inside repository archive (#1538)
Change repository archive order to export/import repository stores before the actual repository. This is done due to import stores before importing the actual repository and firing hooks that may trigger unnecessary computations otherwise.

Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2021-02-15 15:43:26 +01:00
Sebastian Sdorra
1a2dabeb66 Do not resolve external groups for system accounts (#1541)
This change modifies the behaviour of the DefaultGroupCollector.
The collector does not longer resolve external groups for the anonymous user and it does not resolve internal nor external groups for the account which is used by the AdministrationContext.
This should reduce the requests which are send to external systems like ldap servers.
2021-02-15 08:45:47 +01:00
Eduard Heimbuch
996a3b6f16 Fix NPE 2021-02-12 08:23:09 +01:00
René Pfeuffer
a0f50f5199 Fix changelog for #1458 2021-02-10 10:46:27 +01:00
Eduard Heimbuch
dc06bb799d Change output location for cypress e2e tests to build directory 2021-02-10 09:59:21 +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
7c50fd935c Fix broken mercurial http post args configuration (#1532)
Fixes a regression which was introduced with #1416. In #1416 we have reimplemented the way configuration is passed to the mercurial cgi handler. Before #1416 we used environment variables which are picked up by hgweb.py, after #1416 we pass mercurial configurations as command line parameters directly in the HgCGIServlet. But sadly the configuration option for httppostargs uses still an environment variable, which is not picked up by anyone.

See #1525
2021-02-09 15:59:05 +01:00
René Pfeuffer
e6f237e10a Fix changelog type 2021-02-09 08:45:38 +01:00
René Pfeuffer
b82496d5b1 Add error message for password error (#1527)
Adds missing error message for wrong password in "change password" dialog.
2021-02-09 07:55:17 +01:00
Sebastian Sdorra
fbf75ba580 Fix conflict between property and task name 2021-02-08 13:21:28 +01:00
Sebastian Sdorra
b3caa607cf Reduce time spend in configuration phase (#1528)
Do not add scm-packaging modules to every build.
These modules drastically increase the time Gradle spends in the configuration phase.
To build a distribution of SCM-Manager pass -Pdistribution.
Upgrade Gradle to 6.8.2.
2021-02-08 10:48:21 +01:00
René Pfeuffer
c0fbeeb7a4 Fix changelog file name 2021-02-05 15:44:36 +01:00
René Pfeuffer
5c94031c66 Fix never failing test 2021-02-05 13:59:33 +01:00
Eduard Heimbuch
877713574a Merge imported repository permissions with existing repository permissions (#1520) 2021-02-05 12:20:55 +01:00
Eduard Heimbuch
ac5d145266 Repository export read-only lock (#1519)
* Lock repository for read-only access only while exporting
* Create read-only check api

Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2021-02-04 15:29:49 +01:00
René Pfeuffer
04c6243f64 Fix interrupt handling 2021-02-04 09:23:32 +01:00
Eduard Heimbuch
44577e9bc4 Add architecture overview documentation (#1516)
* Add architecture overview documentation

* Use plant uml the Cloudogu way

Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2021-02-03 11:24:02 +01:00
René Pfeuffer
7a7ac9a3f2 Bugfix: Conflict in pack parser (#1518)
The change tackles a sporadic error in integration tests, where during or after a change in a git repository a pack file could not be read correctly due to a "short compressed stream". The exception could look like this:

ERROR org.eclipse.jgit.internal.storage.file.ObjectDirectory - Exception caught while accessing pack file scm-home/repositories/8gSNr4ogc5X/data/objects/pack/pack-51a3500283ece83ab8efa7edfb9370e6f97311b5.pack, the pack file might be corrupt. Caught 1 consecutive errors while trying to read this pack.
java.io.EOFException: Short compressed stream at 197
	at org.eclipse.jgit.internal.storage.file.PackFile.decompress(PackFile.java:381)
	at org.eclipse.jgit.internal.storage.file.PackFile.load(PackFile.java:815)
	at org.eclipse.jgit.internal.storage.file.PackFile.get(PackFile.java:284)
	at org.eclipse.jgit.internal.storage.file.ObjectDirectory.openPackedObject(ObjectDirectory.java:455)
	at org.eclipse.jgit.internal.storage.file.ObjectDirectory.openPackedFromSelfOrAlternate(ObjectDirectory.java:413)
	at org.eclipse.jgit.internal.storage.file.ObjectDirectory.openObject(ObjectDirectory.java:404)
	at org.eclipse.jgit.internal.storage.file.WindowCursor.open(WindowCursor.java:132)
	at org.eclipse.jgit.treewalk.CanonicalTreeParser.reset(CanonicalTreeParser.java:191)
	at org.eclipse.jgit.treewalk.TreeWalk.parserFor(TreeWalk.java:1344)
	at org.eclipse.jgit.treewalk.TreeWalk.addTree(TreeWalk.java:732)
	at sonia.scm.repository.spi.Differ.create(Differ.java:102)
	at sonia.scm.repository.spi.Differ.diff(Differ.java:63)
We found out that this seems to be linked to the asynchronous execution of post commit hooks, that originally are triggered in the midst of the processing of a receive pack.

With this change the fireing of these triggers is delayed until the end of the internal git processing. The central class for this is the GitHookEventFacade, where hook events are either

- put into a ThreadLocal, so that they can be triggered later, or
- triggered in a thread that is joined with an internal JGit thread for internal pushes (eg. for modify command or merge command)
2021-02-03 11:08:13 +01:00
René Pfeuffer
4fba5cc17b Fix Jenkinsfile 2021-02-02 13:58:51 +01:00
Sebastian Sdorra
0069f29ef6 Update shiro to 1.7.1 2021-02-02 13:11:44 +01:00
Sebastian Sdorra
bad426c9d8 Implement new changelog process (#1517)
Adopt the new changelog process, which should avoid CHANGELOG.md merge conflicts.
This change integrates the new changelog gradle plugin to update the
CHANGELOG.md during a release and updates the release documentation.
2021-02-02 11:02:31 +01:00
Eduard Heimbuch
4966a389a3 Update release process (#1514)
Updates the SCM-Manager release process after the transition to gradle as build tool.

Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
2021-02-02 10:32:57 +01:00
Eduard Heimbuch
e283195530 Fix permission check on branch deletion (#1515) 2021-02-01 14:48:19 +01:00
Sebastian Sdorra
eb914b1f93 Remove -app suffix from unix and windows package 2021-01-29 13:51:14 +01:00
Sebastian Sdorra
d8f4a681c8 Remove cypress cache and ignore it 2021-01-29 13:48:14 +01:00
CES Marvin
0cd7fdcec5 Prepare for next development iteration 2021-01-29 11:25:23 +00:00
CES Marvin
9c8cc577b2 Merge branch 'master' into develop 2021-01-29 11:24:36 +00:00
René Pfeuffer
a58e100821 remove unwanted folder 2021-01-29 12:02:15 +01:00
René Pfeuffer
9b90fb2a28 Ignore .npm folder 2021-01-29 12:01:18 +01:00
René Pfeuffer
cf8931b9a0 Ignore .npm folder 2021-01-29 11:59:38 +01:00
CES Marvin
6e54f19dc9 Release version 2.13.0 2.13.0 2021-01-29 10:04:49 +00:00
Konstantin Schaper
8d20c5fa76 Adjust changelog for release 2.13.0 2021-01-29 10:40:28 +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
Florian Scholdei
57c9484d41 Enrich styleguide with new features, rules and changes
The styleguide for usage of visual elements has not been updated for a long time. In the course of this story it should be adapted to the current standards and rules. In addition, heavy violations were rectified directly.
2021-01-28 12:46:42 +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
René Pfeuffer
734ab40d7e Fix changelog 2021-01-28 12:13:32 +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
Florian Scholdei
a35c227a55 Repository contact information is editable
The RepositoryForm is called within the creation and editing of a repository. It contains a validator, which is supposed to check, among other things, whether the namespace and name were specified when the repository is created. This information is missing in the edit mode. I therefore initially set valid.namespaceAndName to true. It is changed to false again before the creation mask becomes active.
2021-01-28 11:31:16 +01:00
Eduard Heimbuch
4fb42de0ca Fix unit test 2021-01-26 14:32:03 +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
Eduard Heimbuch
d737c3aa9f Fix unit test 2021-01-26 12:55:01 +01:00
René Pfeuffer
0b43630f06 Add "rerun" flag for integration tests 2021-01-26 11:39:16 +01:00
Konstantin Schaper
c8b167b4ec refactor table component so that it can be styled by styled-components
Applying styles to table elements like tr or td is currently very cumbersome because they are encapsulated in the Table component itself. We need to apply a word break to table cells so that for example long branch names properly fit into the layout. This PR changes the Table component to allow it to be styled with styled-components.
2021-01-26 10:52:14 +01:00