Updates the copyright to 2021 for all files that have a copyright. Files in our source code without the copyright header still do not receive one automatically. Additionally, backlisted files are also excluded.
Previously the copyright of chiliproject which references redmine stated a copyright of redmine up to and including 2017 which is not true for the code we have in here. Because of that I changed that to 2013
This reverts commit b05a8f7b54.
The release/10 branch received a revert that was applied after changes
from dev unwillingly where merged into it. But when merging release/10.0
back into dev, that revert was also applied to dev where the changes are
indeed wanted. So we revert the revert for dev.
Repositories were not properly relocated when using a managed remote.
This also changes the request to use an old identifier instead of the
whole path. The managed remote will build the correct old path itself.
Adds an `insecure` option to the `configuration.yml`.
This option only applies when the manages: key is set to a URL.
If the given URL uses SSL, certificate checking will be disabled.
This key is set for a packaged installation by default, since it communicates locally and
these installations may often include a snakeoil certificate.
This commit expects a managed remote to return at least a URL
to the repository, and optionally a path.
Note that OpenProject currently only supports local repositories for
Git, and thus using managed remotes with Git WILL require a path
returned from the remote.
For Subversion, also returning a `file://<path>` URL is sufficient,
since it can browse that. Returned external URLs must be accessible from
OpenProject, since we do not receive any authentication from the remote.
Extends the packager `configuration.yml` to include vendor configuration
for Subversion and Git, when enabled through the wizard.
Also extends the remote repository request to send an optional, configurable
access token required to use the wrapper script.
Provides a simple mod-perl based Apache wrapper around
remote repositories.
As its functionality is very limited, it is probably not of much use outside of the packager context.
This commit starts the work to provide functionality with remote service hooks for managing repositories.
The main driver behind this is packager, for which we want apache to be the sole owner of the repositories it delivers, and OpenProject only as a reader, however it benefits other installations as well.
This sets `max_attempts` for StorageUpdaterJob to 1,
as we prefer having an external event retrigger storage counting
rather than retrying from delayed_job.
The reason behind this is failing counting due to I/O or other
unforeseen issues (e.g. mount not available, .. ).
In this case, recounting soon after will not solve the problem
and only increase load on disk.
When a StorageUpdater job is registered, but the associated object
is vanished in between request and execution, the job fails and is
repeated.
It should instead succeed with a warning.
ENV-based configuration passes a string to the chmod value,
which seemingly can't be turned into an integer.
Thus we work around this by casting the value to integer,
will also help users who are using strings in their configs
This is especially neccessary since our Settings use the request store to determine, whether they need to invalidate the cache key.
If the request store was never reset, the settings in our delayed jobs would be cached at an old value forever (until the next restart).
This commit removes the project hierarchy introduced with
repository management.
They are not required, incompatible with mod_dav_svn and provide
little to none advantage to storing all repositories in a flat
structure for the scale we require.
The original repository management epic allows to define
an owner that a created repository is set to.
As this will not work for non-root users on *nix systems,
this commit removes this functionality in favor of setting
only the group.
This is allowed by non-privileged users _as long as_ users are
member of this group.
This commit effectively adds a storage information column
to repositories.
It tests the functionality of the counting on subversion and git
repositories / adapters.
This commits add the basic functionality for:
- Retrieving the storage size of a repository in pure ruby.
- Retrieving the latest mtime of a file in a repository
- Asynchronously getting and writing this information in a separated
file inside that repository (`.reposize`) with YAML for convenience.
This commit provides:
- Configuration options for disabling any number of available
types of that particular SCM vendor.
- Changes to the underlying structure to allow determination
of which types are available on a class level.
This commit:
- adds error messages for filesystem errors
- Forces services and views to use repository.root_url instead of
managed_path, which may not be available when config is missing