Commit Graph

402 Commits

Author SHA1 Message Date
Eduard Heimbuch
43e1ea06c8 Fix HalRepresentationWithEmbedded type (#1793)
Fix HalRepresentationWithEmbedded type since _embedded can be null.

Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
2021-09-02 15:47:15 +02:00
Sebastian Sdorra
cf55b15d21 Refactor SvnMirrorCommand
Extracted authentication logic into its own class.
Use source url instead of target url for authenticators and proxy excludes.
Use error code instead of complete message to detect a missing initialisation on update.
2021-08-26 12:20:44 +02:00
Konstantin Schaper
44f25d6b15 Fix disabled local proxy configuration being used over global config (#1780)
The original proxy configuration implementation only used the global configuration if the local proxy configuration was not provided (i.e. null). This PR adds the corner case where a local configuration is provided, but disabled. In this case, the global proxy configuration will be used as a fallback as well.
2021-08-25 08:19:52 +02:00
Sebastian Sdorra
7f9f4e566c Proxy support for pull, push and mirror commands (#1773)
Apply proxy support for jGit by extracting the required functionality from the DefaultAdvancedHttpClient into its own class HttpURLConnectionFactory. This new class is now used by the DefaultAdvancedHttpClient and jGit.
The HttpURLConnection also fixes proxy server authentication, which was non functional in DefaultAdvancedHttpClient.
The proxy support for SVNKit is implemented by using the provided method of the BasicAuthenticationManager.
For mercurial the support is configured by writing the required settings to a temporary hgrc file.
2021-08-19 11:27:51 +02:00
René Pfeuffer
8558572c99 Modifications command between two revisions (#1761)
Adds the option to compute the modifications between two revisions unsing the modifications command.
2021-08-09 12:13:41 +02:00
Eduard Heimbuch
e560d20d5a Fix SVN repo mirror update (#1745)
Initialize svn repository on mirror update if first initialization failed.
2021-07-28 11:26:33 +02:00
René Pfeuffer
ad6000722d LRU semantic for workdir cache (#1735)
Introduces a maximum size for the simple workdir cache. On cache overflow workdirs are evicted using an LRU strategy.
Furthermore parallel requests for the same repository will now block until the workdir is released.
2021-07-28 07:54:37 +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
René Pfeuffer
1e83c34823 Enable Health Checks (#1621)
In the release of version 2.0.0 of SCM-Manager, the health checks had been neglected. This makes them visible again in the frontend and adds the ability to trigger them. In addition there are two types of health checks: The "normal" ones, now called "light checks", that are run on startup, and more intense checks run only on request.

As a change to version 1.x, health checks will no longer be persisted for repositories.

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2021-04-21 10:09:23 +02:00
Eduard Heimbuch
c5720b36b5 Collect metrics over lifetime of working copies (#1591)
Capture metrics about the lifetime of working copies used, for example, by the merge and modify commands. Working copies are internal repository clones that can place a large load on the server. Therefore, these metrics can be helpful in identifying sources of large server load.

Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
2021-03-24 13:03:20 +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
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
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
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
Sebastian Sdorra
c1aa851c72 Migrate plugins 2021-01-14 11:55:27 +01:00
Florian Scholdei
214cf527d4 Feature/harmonize translation keys (#1478)
Harmonize translation keys

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2020-12-16 11:24:13 +01:00
René Pfeuffer
eaf59f91c4 Harmonize logging string for repositories 2020-12-04 11:48:32 +01:00
Eduard Heimbuch
7db33d2e65 Mind review findings 2020-12-02 10:47:48 +01:00
Eduard Heimbuch
275ca49f71 Mark old import handler api as deprecated 2020-11-27 13:30:01 +01:00
René Pfeuffer
69a3a8a2da Convert update dto classes to interfaces 2020-11-19 13:19:49 +01:00
René Pfeuffer
bab4a56e22 Make dtos for schema docs unusable 2020-11-19 07:48:21 +01:00
Florian Scholdei
3384707517 Add examples to scm-plugins resources and create DTO adapted to schemata 2020-11-18 17:12:04 +01:00
René Pfeuffer
e222363dcd Fix detection of deleted files
The path /dev/null must not be prefixed with a or b.
2020-11-17 09:26:03 +01:00
Eduard Heimbuch
076d877245 fix SVN binary diff 2020-11-17 08:34:27 +01:00
René Pfeuffer
5b44be5e5b Show error message once only 2020-11-12 11:41:04 +01:00
René Pfeuffer
01a5dbd091 Show messages from native scm protocol 2020-11-12 11:41:04 +01:00
René Pfeuffer
6abf793f49 Fix formatting 2020-11-12 08:11:40 +01:00
René Pfeuffer
8e10f7e7ed Fix generics as far as possible 2020-11-12 08:10:01 +01:00
Eduard Heimbuch
c6d3a8054e fix code smell 2020-11-10 10:58:53 +01:00
Eduard Heimbuch
1709fa0e3d update java doc since version 2020-11-10 10:14:13 +01:00
Eduard Heimbuch
a97774f729 Merge branch 'develop' into feature/lookup_api 2020-11-10 08:39:48 +01:00
Eduard Heimbuch
96233997b4 change SvnLookupCommand implementation to match the svn lookup api 2020-11-04 09:27:16 +01:00
Konstantin Schaper
578e028d5b Merge branch 'develop' into bugfix/rest-download 2020-11-02 13:28:44 +01:00
Konstantin Schaper
22e0944377 fix review findings 2020-11-02 13:27:18 +01:00
Sebastian Sdorra
5de4b49392 Improve display of binary values in svn diff 2020-11-02 09:16:47 +01:00
Sebastian Sdorra
a336d2c676 Fix svn diff with property changes 2020-11-02 08:41:27 +01:00
Konstantin Schaper
62a7ebd4dd user agents are not longer set to be browsers by default 2020-10-29 19:51:40 +01:00
Sebastian Sdorra
6ebc131a42 Suppress non fixable SonarQube issue 2020-10-28 11:46:39 +01:00
Sebastian Sdorra
d9b5d86c05 Do not expose subversion commit with id 0 2020-10-28 11:44:35 +01:00
Eduard Heimbuch
c005944a5c wrap lookup command result in java.util.Optional to clarify api 2020-10-21 10:18:29 +02:00
Eduard Heimbuch
8fe612cc06 create lookup command 2020-10-20 11:40:29 +02:00
Eduard Heimbuch
0847a3eda0 add unit tests 2020-10-14 12:44:23 +02:00
Eduard Heimbuch
d273b19f68 add null check on parsing svn properties in browsecommand 2020-10-14 10:50:08 +02:00
Eduard Heimbuch
5cbe3298e4 rm obsolete check 2020-10-08 09:23:12 +02:00
Florian Scholdei
622a9a0427 Add multiple svn externals support 2020-10-08 00:43:17 +02:00
Florian Scholdei
a2f1c88bfd Add explanatory text in logic part, rename some variables 2020-10-07 20:33:09 +02:00
Eduard Heimbuch
9271da85a5 fix svn browse command external directory 2020-10-07 17:37:59 +02:00
Florian Scholdei
90580e902d Fix review finding 2020-10-07 16:39:26 +02:00
Florian Scholdei
10549ae214 Fix detection for externals in SVN 2020-10-07 10:04:54 +02:00