Commit Graph

1473 Commits

Author SHA1 Message Date
Sebastian Sdorra
3e6ce4e814 Add DefaultBranchChangedEvent (#1763)
The DefaultBranchChangedEvent is fired whenever the default branch of repository changes.
2021-08-11 09:28:00 +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
René Pfeuffer
c3f3778295 Fire post receive hook after import (#1754)
The repository import did not post any PostReceiveRepositoryHookEvent, only an ImportRepositoryHookEvent. With this fix, both events are posted.
2021-08-03 14:31:12 +02:00
CES Marvin
124e7f1b18 Prepare for next development iteration 2021-07-30 13:02:59 +00:00
CES Marvin
ed953b6209 Release version 2.22.0 2021-07-30 12:35:36 +00:00
Sebastian Sdorra
eb9cec3672 Update gradle-smp-plugin to version 0.8.5 2021-07-30 09:14:21 +02:00
Eduard Heimbuch
d6402ad1cb Redesign repository overview (#1740)
Change repository overview layout to use single rows instead cards. Also remove quick links and add clone action to repository entry. The default repository link now leads to the sources view.

Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
2021-07-28 15:04:00 +02:00
René Pfeuffer
68b2976578 Filter master branch correctly on initial mirror (#1747)
On the first synchronization, the clone has the implicit branch "master". This cannot be
changed in JGit. When we fetch the refs from the repository that should be mirrored, the
master branch of the clone will be updated to the revision of the remote repository (if
it has a master branch). If now the master branch shall be filtered from mirroring (ie.
if it is rejected), we normally would delete the ref in this clone. But because it is
the current branch, it cannot be deleted. We detect this and later, 
after we have pushed the result, delete the master branch by pushing 
an empty ref to the central repository.
2021-07-28 12:04:57 +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
f52c0b07bf Enhance push command with username/password authentication (#1734) 2021-07-23 13:42:39 +02:00
CES Marvin
4b2ec8cb66 Prepare for next development iteration 2021-07-21 11:05:18 +00:00
CES Marvin
e6807ad56a Release version 2.21.0 2021-07-21 10:36:56 +00:00
CES Marvin
a80ea62d09 Prepare for next development iteration 2021-06-16 13:34:20 +00:00
CES Marvin
0fe8914f9d Release version 2.20.0 2021-06-16 13:05:07 +00:00
René Pfeuffer
b9d5c3aa8d Fix hook events for git mirror command (#1703)
Currently the mirror command implementation for git fires post receive repository hook events, that return every changeset of the repository instead of those really added by the single mirror update.

This fixes this issue by first creating a working copy, running the fetch and the update in this clone, and then pushing back the result to the central repository. This triggers the internal mechanisms used in other commands like the modify command.

The downside of this is, that we first have to create the clone, so for big mirrors a cached working copy is strongly recommended.
2021-06-16 14:26:02 +02:00
René Pfeuffer
b6d343bf09 Make auth expiration for LFS configurable (#1697)
When SCM-Manager is used behind a reverse proxy like
Nginx it may be the case, that lfs PUT requests are
buffered by the reverse proxy and will be sent to the
SCM-Manager after the whole file has been received. Due
to the expiration time of 5 minutes for the authentivation
token that had been requested by Git before the upload
has been started, this request from the proxy to
SCM-Manager fails if the upload from the client to the
reverse proxy took longer than these 5 minutes.

To solve this, we make this expiration time configurable,
so that whenever you have very large files or small
bandwidth the expiration timeout can be increased.
2021-06-16 09:14:52 +02:00
CES Marvin
ce2440ad02 Prepare for next development iteration 2021-06-09 15:32:47 +00:00
CES Marvin
f415cde6be Release version 2.19.1 2021-06-09 14:55:01 +00:00
René Pfeuffer
b14fa86550 Add log for error in git mirror (#1689)
Without this log you will get no trace of the error,
only the message of it in the mirror log. This may
not be enough to trace the cause of the error.
2021-06-09 08:57:01 +02:00
CES Marvin
18b64023fc Prepare for next development iteration 2021-06-04 13:25:11 +00:00
CES Marvin
9c372a8df9 Release version 2.19.0 2021-06-04 12:57:19 +00: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
d7d0d2375c Update jgit to v5.11.1.202105131744-r-scm1 (#1661)
Update jgit to v5.11.1.202105131744-r-scm1

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2021-05-20 14:14:58 +02:00
Konstantin Schaper
7286a62a80 Implement api for extension point typings (#1638)
Currently, the only way to explore available extension points is through our documentation or by browsing the source code. Once you find them, there is no guard rails and the usage is prone to user errors. This new api allows the declaration of extension points as types in code. This way, exposing an extension point is as easy as exporting it from a module. Both the implementation and the developer who uses the extension point work with the same shared type that allows auto-completion and type-checks for safety. This feature is backwards-compatible as the generic methods all have sensible defaults for the type parameters.

Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
2021-05-12 16:05:30 +02:00
CES Marvin
87bcdc3560 Prepare for next development iteration 2021-05-05 14:02:00 +00:00
CES Marvin
3791656760 Release version 2.18.0 2021-05-05 13:30:50 +00:00
Eduard Heimbuch
7e3a6b6fb2 Show correct default branch in repository config (#1643) 2021-05-05 14:45:18 +02:00
René Pfeuffer
77b62be68a Fix messages for post commit hooks in git (#1647)
Fixes the transmission of messages from post commit hooks in Git repositories. We therefore use a new method patched in jGit for SCM-Manager. This simplifies the trigger logic a lot.
2021-05-04 16:53:43 +02:00
Eduard Heimbuch
af8980de19 Improve repository information page (#1636)
Only show relevant information for repository on repository information page. The initialization code example is only shown if the repository is still empty.
2021-04-29 18:13:32 +02:00
CES Marvin
9782fd2e8f Prepare for next development iteration 2021-04-26 14:31:33 +00:00
CES Marvin
11fa65f537 Release version 2.17.1 2021-04-26 13:51:39 +00:00
CES Marvin
26c04a2f8b Prepare for next development iteration 2021-04-22 09:19:35 +00:00
CES Marvin
a9c64642aa Release version 2.17.0 2021-04-22 08:50:04 +00:00
CES Marvin
5f887d4fa8 Prepare for next development iteration 2021-03-26 10:15:25 +00:00
CES Marvin
9a2204b68c Release version 2.16.0 2021-03-26 09:39:47 +00:00
Eduard Heimbuch
d94ebb2e3e Validate filepath and filename to prevent path traversal (#1604)
Validate filepath and filename to prevent path traversal in modification
command and provide validations for editor plugin.

Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2021-03-25 12:50:24 +01: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
7b6dfb3880 Bump smp gradle plugin version to fix missing plugin description in plugin center 2021-03-22 16:11:01 +01:00
Sebastian Sdorra
26b65582ce Core metrics (#1586)
Expose metrics for http requests and executor services.
2021-03-17 11:09:52 +01:00
CES Marvin
4dbcc019b7 Prepare for next development iteration 2021-03-17 09:19:04 +00:00
CES Marvin
05062844f8 Release version 2.15.1 2021-03-17 08:52:18 +00:00
CES Marvin
ddac6b1e50 Prepare for next development iteration 2021-03-12 13:43:05 +00:00
CES Marvin
6b90e3efe4 Release version 2.15.0 2021-03-12 13:07:53 +00:00
René Pfeuffer
84c8e02bf1 Feature Partial Diff (#1581)
With this pull request, diffs for Git are loaded in chunks. This means, that for diffs with a lot of files only a part of them are loaded. In the UI a button will be displayed to load more. In the REST API, the number of files can be specified. This only works for diffs, that are delivered as "parsed" diffs. Currently, this is only available for Git.

Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
2021-03-12 13:52:17 +01:00
Florian Scholdei
0d3339b0cb Add repository-specific non-ff disallowed option (#1579)
Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2021-03-11 10:13:26 +01:00
Sebastian Sdorra
cff00b363d Upgrade to react 17.0.1 (#1570)
* Upgrade react to 17.0.1

* Remove unused dependencies

* Use version 17.0.1 of react-test-renderer

* Use fixed react type for core plugins

* Fix enzyme on react 17
2021-03-05 15:09:35 +01:00
CES Marvin
087c7f3712 Prepare for next development iteration 2021-03-03 15:16:52 +00:00
CES Marvin
396789efa4 Release version 2.14.1 2021-03-03 14:21:12 +00: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