Commit Graph

13170 Commits

Author SHA1 Message Date
Florian Scholdei
02cb4aa72c Add changelog entry 2025-02-25 14:23:12 +01:00
René Pfeuffer
69b09466dc Fix license 2025-02-13 18:48:57 +01:00
Matt Harbison
c30a06d26a Avoid modifying the Mercurial repository config file to add config options
Modifying the config file is complicated and error prone, but there hasn't been
any other option aside from setting `HGRCPATH` to point to a standalone file.
Starting with Mercurial 7.0 (scheduled for March 2025), there's now a global
option to specify one or more additional config files on the command line,
without disabling the normal system and user level config file processing.[1]
Since I'm not sure what the minimum supported Mercurial is for this project,
this includes an extension that backports the same option if it is not present
in the version of Mercurial that is used, and does nothing if Mercurial natively
supports it.  I tested back to Mercurial 6.0, which should be more than
sufficient- 6.1.4 (June 2022) was the last release to support Python 2 (which
has been EOL since Jan 2020), and the Python 3 support before that release was
considered experimental.  It likely works in earlier versions, but there's a
definite minimum of 4.9 (Feb 2019), due to the `exthelper` module import.

Without the need to modify a possibly existing file and then restore it when
done, a bunch of code falls away, and the tests that supported it.


[1] https://repo.mercurial-scm.org/hg/rev/25b344f2aeef
2025-02-07 16:16:24 -05:00
Matt Harbison
0fa7ddfb9d Stop modifying and reusing the global JavaHg RepositoryConfiguration singleton
I can't point to a specific error, but modifying a singleton and reusing it is
a good way to get unexpected state.  The extension adding won't collect
additional state (it's add-if-not-present), but the underlying
`java.util.HashMap` isn't threadsafe.  Any differences in the environment map
when this is called would alter that state of anything else that still held a
configuration (and it also uses `HashMap`), and the pending changeset, encoding,
and HgBin settings would be overwritten for everybody outright.

There's only a default constructor for this class, so nothing to pass along in
the constructor.  I don't *think* this was the cause of the random auth failures
mentioned in the previous commit, but it's easy to avoid these potential
problems.
2025-01-31 15:30:29 -05:00
Matt Harbison
499f949c25 Stop ignoring global Mercurial configuration for non-server commands
There was previously a weird duality where a simple push to or pull from a
repository hosted by SCM-Manager would load all of the system and user level
config files, but they were ignored when importing a repository.  I found this
out when importing an LFS repo, and it eventually failed with a message that the
LFS extension needs to be enabled, even though it was enabled globally.  The
global config should typically never be ignored, because some repositories are
unreadable without certain extensions or configurations.

The JavaHg API here mirrors the hg behavior for the `HGRCPATH` environment
variable- not setting it (or null here) uses the default config resolution, and
`""` (the default in JavaHg for some reason) disables default config resolution.
The repository initialization code in JavaHg also uses `""`, and there's no way
to alter that from the outside.  But that appears to be harmless, so I'm
ignoring that for now.  Note that this may only have been a problem on
non-Windows systems- setting an environment variable to empty on Windows
*unsets* the variable, even in the `_wputenv()` API, which is what we want.

After this, normal push/pull operations continue to use the global config.  But
now imports from the SCM-Manager UI, the hooks run during a push, and any other
commands that are run through JavaHg will see a consistent configuration.  LFS
(and maybe largefiles- I haven't tested it) repository imports now work.  (I
wouldn't say "supported" yet because it doesn't pull the blobs.  The largefiles
extension has a command for doing this, but the LFS extension doesn't.  The
stopgap for this is to run `hg verify` to download the blobs, but that won't
work here with the way subrepos aren't nested as expected.  I can work on a
command on the hg side to fill this gap.)

One final thing to note here- as I was testing, I initially got authentication
failures when trying to pull.  It happened several times as I added more and
more logging, then disappeared, and I wasn't able to trigger it again as I
backed off the logging to get to this change alone.  The auth info is written to
the repository's hgrc file, so a change to whether or not the global
configuration is processed is irrelevant.  The next couple of commits will try
to improve the related code.
2025-01-31 15:14:13 -05:00
Florian Scholdei
987893aa67 Fix loop in secondary navigation render cycle 2025-02-04 15:06:09 +01:00
Florian Scholdei
dd7b07aeaf Retry failing integration tests
This uses 'RetryingTest' from junit jupiter to retry integration tests
that are known to fail from time to time. We explicitly mark single
tests in contrast to set a global retry to be able to trace those,
whenever this is intended.
2025-02-03 16:28:30 +01:00
CES Marvin
844dc394e9 Prepare for next development iteration 2025-01-28 09:43:54 +00:00
CES Marvin
924f258ae7 Release version 3.7.1 3.7.1 2025-01-28 09:05:24 +00:00
René Pfeuffer
ac8d47a77f Adjust changelog for release 3.7.1 2025-01-28 09:59:46 +01:00
Rene Pfeuffer
8f8db80472 Implement branch provider to prevent errors
The review plugin does not explicitly check, if the
branch provider is supported in events. It only checks,
whether the repository supports branches per se.
Therefor, if a tag is created from the ui, an internal server
error is thrown. We prevent this by implementing a
simple branch provider here, too.
2025-01-28 09:09:31 +01:00
CES Marvin
cae0eb6fb1 Prepare for next development iteration 2025-01-23 08:26:47 +00:00
CES Marvin
64a884f614 Release version 3.7.0 3.7.0 2025-01-23 07:46:54 +00:00
Thomas Zerr
f818b15d7e Adjust changelog for release 3.7.0 2025-01-23 08:39:41 +01:00
René Pfeuffer
e7abde8322 Merge branch 'main' into develop 2025-01-17 19:54:54 +01:00
René Pfeuffer
f7b17ee647 Prepare for next development iteration 2025-01-17 19:54:40 +01:00
CES Marvin
060c8d6d64 Release version 3.6.1 3.6.1 2025-01-17 17:53:50 +00:00
René Pfeuffer
86e2efc24b Prepare release of 3.6.1 2025-01-17 18:42:28 +01:00
René Pfeuffer
bcfb58aa3b Merge remote-tracking branch 'origin/support/2.48.x' into support/3.6.0 2025-01-17 18:35:50 +01:00
CES Marvin
bf10a556e9 Release version 2.48.4 2.48.4 2025-01-17 16:27:13 +00:00
René Pfeuffer
b33a8c6f2a Prepare release of 2.48.4 2025-01-17 17:19:12 +01:00
René Pfeuffer
12b291f7e5 Merge branch 'support/2.46.x' into support/2.48.x 2025-01-17 16:24:06 +01:00
CES Marvin
a696f8f017 Release version 2.46.5 2.46.5 2025-01-17 13:55:11 +00:00
René Pfeuffer
15fd0a2094 Adjust changelog for release 2.46.5 2025-01-17 14:49:30 +01:00
Rene Pfeuffer
7b74224a80 Remove exception log for api token errors
Printing the exception may reveal details about the password.
2025-01-17 14:46:17 +01:00
Till-André Diegeler
f0518af823 Export IconButton from Core
Squash commits of branch bugfix/icon-export:

- Export IconButton from Core
2025-01-17 14:44:22 +01:00
René Pfeuffer
c36f095ff2 Temporarily remove sonar step for 2.x build 2025-01-17 14:36:15 +01:00
René Pfeuffer
9d2001895e Prepare for next development iteration 2025-01-17 13:50:25 +01:00
René Pfeuffer
cf449bc813 Prepare for next development iteration 2025-01-17 13:45:06 +01:00
Thomas Zerr
25ed3ceba0 Add new button variant "info"
Reviewed-by: Philipp Ahrendt <philipp.ahrendt@cloudogu.com>
2025-01-16 14:44:48 +01:00
Till-André Diegeler
19e607c2de Pull Request Banner Extension Point 2025-01-15 14:06:59 +01:00
René Pfeuffer
ce22ffbb11 Fix storyshots for ui-core 2025-01-14 09:46:47 +01:00
René Pfeuffer
7af01370fa Revert "Update Shiro to 1.13.0"
The new Shiro version breaks urls with encoded slashes
like the source endpoint with branches containing `/`.

This reverts commit 2a22cbd48c.
2025-01-10 13:58:42 +01:00
Rene Pfeuffer
e9f4022294 fix: scm-packaging/docker/Dockerfile.alpine to reduce vulnerabilities
The following vulnerabilities are fixed with an upgrade:&#10;- https://snyk.io/vuln/SNYK-ALPINE319-OPENSSL-7895536&#10;- https://snyk.io/vuln/SNYK-ALPINE319-OPENSSL-7895536&#10;- https://snyk.io/vuln/SNYK-ALPINE319-OPENSSL-8235202&#10;- https://snyk.io/vuln/SNYK-ALPINE319-OPENSSL-8235202

Co-authored-by: snyk-bot<snyk-bot@snyk.io>
2025-01-10 09:40:21 +01:00
Anna Vetcininova
2107451e7f Update commons-io:commons-io to 2.18.0 2025-01-09 20:32:53 +01:00
Anna Vetcininova
7653d65d73 Update commons-compress to 1.27.1 2025-01-09 20:05:56 +01:00
Anna Vetcininova
51a0702f50 update jerseyVersion to 3.1.9 2025-01-09 19:30:00 +01:00
Till-André Diegeler
2a22cbd48c Update Shiro to 1.13.0 2025-01-09 19:28:41 +01:00
Anna Vetcininova
c12fed6f4b update swagger-jaxrs2-jakarta to 2.2.26 2025-01-09 18:47:00 +01:00
Viktor Egorov
efc1b62e75 Upgrade node version to 21.7.3 2025-01-09 18:46:12 +01:00
Till-André Diegeler
7b791334a7 Update Jetty to 11.0.24 2025-01-09 18:27:50 +01:00
Thomas Zerr
51449b6b2c Fix no initial source branch set
Changelog is omitted, because the bug was never released

Co-authored-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
2025-01-09 15:29:30 +01:00
Till-André Diegeler
08e57b9a19 Allow filter for Git repositories
The line `allowfilter = true` is inserted both in new Git repositories
and existing ones (via an UpdateStep). This enables clones with
`--filter` parameters.

Co-authored-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
2025-01-09 15:27:22 +01:00
Philipp Ahrendt
a4e30b94a2 Accessible hunk expander
Co-authored-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
2025-01-09 11:35:12 +01:00
Rene Pfeuffer
8422c3bc44 Fast modifications inside git repositories
With this change, most modifications of git repositories&#10;(like inserting, deleting and updating files and merging branches)&#10;do no longer work inside clones held in temporary working&#10;directories but are done directly inside the bare git&#10;repository data. This resolves in a massive performance&#10;boost for the editor plugin and pull requests, especially in&#10;larger repositories.

Co-authored-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
Committed-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
2025-01-07 11:06:53 +01:00
René Pfeuffer
e615bc32ad Log exception in default branch delete protection 2024-12-28 17:50:56 +01:00
Rene Pfeuffer
190961df28 Auto-focus first input element in creation forms
Co-authored-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
Committed-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
2024-12-19 13:54:02 +01:00
Rene Pfeuffer
45801c9813 Remove unused class IterableQueue
Co-authored-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
2024-12-19 09:14:37 +01:00
René Pfeuffer
26c03444be Fix storyshot after commit 241e4cb53d 2024-12-18 12:06:41 +01:00
Philipp Ahrendt
241e4cb53d Clickable tags use HMTL button
Tags that open modals or trigger other actions need to be accessible for keyboard and assistive technologies.
2024-12-17 19:11:21 +01:00