1310 Commits

Author SHA1 Message Date
CES Marvin
7e1f2c6ff9 Prepare for next development iteration 2026-04-07 09:48:20 +00:00
CES Marvin
3f12bdf751 Release version 3.11.8 2026-04-07 08:59:59 +00:00
CES Marvin
b6a5fbb930 Prepare for next development iteration 2026-03-20 16:04:17 +00:00
CES Marvin
a22bc91682 Release version 3.11.7 2026-03-20 15:16:52 +00:00
CES Marvin
a72d965b56 Prepare for next development iteration 2026-03-11 15:02:18 +00:00
CES Marvin
1b9bb49b4c Release version 3.11.6 2026-03-11 14:12:11 +00:00
CES Marvin
66ef8b05e1 Prepare for next development iteration 2026-02-25 13:15:50 +00:00
CES Marvin
0e780dd068 Release version 3.11.5 2026-02-25 12:28:10 +00:00
René Pfeuffer
67b98ba8fe Prepare for next development iteration 2026-02-25 11:34:49 +01:00
CES Marvin
1b192ffa38 Release version 3.11.4 2026-02-11 13:20:14 +00:00
René Pfeuffer
fbd78ab7e1 Prepare for next development iteration 2026-02-10 17:29:33 +01:00
CES Marvin
452703eb3d Release version 3.11.3 2026-02-10 15:36:30 +00:00
Matt Harbison
b6116b1fc9 Mercurial config fixes (#2247)
* 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.

* 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.

* 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

* Clean up

---------

Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2026-01-23 08:55:57 +01:00
CES Marvin
2a4089de3d Prepare for next development iteration 2026-01-12 10:44:14 +00:00
CES Marvin
5186c2c9f1 Release version 3.11.2 2026-01-12 09:54:50 +00:00
CES Marvin
fa37ba0efa Prepare for next development iteration 2025-11-28 15:20:19 +00:00
CES Marvin
14e908b6be Release version 3.11.1 2025-11-28 14:31:02 +00:00
CES Marvin
75b5842b12 Prepare for next development iteration 2025-09-26 12:07:56 +00:00
CES Marvin
ca5aa4c24c Release version 3.11.0 2025-09-26 11:58:20 +00:00
Rene Pfeuffer
3062851e32 Fix hg testing issues with new versions of hg
With this, we updated the zipped test repositories in
scm-plugins/scm-hg-plugin/src/test/resources/sonia/scm/repository
with `hg debugupgraderepo --run` and a hg version 5.3.1

It lookes like the old format does not work with newer
version of hg (maybe since 6.x or 6.7 or something)
2025-09-24 13:40:33 +02:00
René Pfeuffer
453796f03b Prepare for next development iteration 2025-09-17 08:44:34 +02:00
CES Marvin
6d8a96e890 Release version 3.10.3 2025-09-17 05:40:18 +00:00
CES Marvin
0a2b0667a9 Prepare for next development iteration 2025-09-02 17:05:25 +00:00
CES Marvin
7838cd48a1 Release version 3.10.2 2025-09-02 16:56:26 +00:00
CES Marvin
d5096cf025 Prepare for next development iteration 2025-08-28 17:27:56 +00:00
CES Marvin
490ec9c274 Release version 3.10.1 2025-08-28 16:44:37 +00:00
René Pfeuffer
77223676d6 Prepare for next development iteration 2025-08-20 07:42:13 +02:00
René Pfeuffer
064e292435 Release version 3.10.0 2025-08-20 07:39:10 +02:00
CES Marvin
a2a9cddb22 Prepare for next development iteration 2025-08-01 10:32:05 +00:00
CES Marvin
de201433e6 Release version 3.9.0 2025-08-01 09:41:18 +00:00
Rene Pfeuffer
605d77e383 Fix hg import/export issues 2025-07-07 15:13:50 +02:00
CES Marvin
9423f54d6d Prepare for next development iteration 2025-04-14 14:21:06 +00:00
CES Marvin
0f0a9b1a67 Release version 3.8.0 2025-04-14 13:35:58 +00:00
Thomas Zerr
48bbfc5960 Prepare for next development iteration 2025-04-14 14:26:10 +02:00
Thomas Zerr
070e5ee31f Merge branch 'main' into develop 2025-04-14 14:09:11 +02:00
CES Marvin
660a3267c1 Release version 3.7.5 2025-04-14 10:41:03 +00:00
Till-André Diegeler
d5362d634b Fix javadoc errors
Tasks.documentation.javadoc threw around 50 errors due to multiple inconsistencies within the javadoc comments.

Furthermore, the option 'failOnError' is now set to 'true' so that future Javadoc errors in our codebase are avoided.
2025-03-25 00:05:14 +01:00
René Pfeuffer
eb646f0a77 Merge branch 'hotfix/3.7.4' into develop 2025-03-12 16:00:24 +01:00
René Pfeuffer
9322dbb0ab Prepare for next development iteration 2025-03-12 15:57:40 +01:00
CES Marvin
817e06cfc5 Release version 3.7.4 2025-03-12 14:13:24 +00:00
René Pfeuffer
0eab2e1ec4 Merge commit 'main' into develop 2025-02-25 13:19:59 +01:00
René Pfeuffer
a4e51ebfe6 Prepare for next development iteration 2025-02-25 13:16:32 +01:00
CES Marvin
13da6f9c54 Release version 3.7.3 2025-02-25 11:17:13 +00:00
Thomas Zerr
6cdcbc8eb2 Restructure global configuration forms for each repository type
Squash commits of branch feature/repository-type-configuration:

- Refactor hg configuration form

- Add support of description text for checkbox and input fields

- Refactor git configuration form

- Refactor svn configuration form

- Add aria-describedby for checkbox and input fields

- Change hgBinary can also be null

- Fix naming of test

- Fix spelling

- Change logic of successfull notification to only be shown if the config rest api returns without an error



Reviewed-by: Philipp Ahrendt <philipp.ahrendt@cloudogu.com>, Till-André Diegeler <till-andre.diegeler@cloudogu.com>

Reviewed-by: Philipp Ahrendt <philipp.ahrendt@cloudogu.com>
2025-02-10 13:59:00 +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 2025-01-28 09:05:24 +00: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 2025-01-23 07:46:54 +00: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