Age | Commit message (Collapse) | Author |
|
While no additional blob will be transferred, doing a request
for missing blobs is still a request and, in particular, an
unnecessary round trip. Therefore avoid this, by remembering what
we synchronized already.
|
|
|
|
|
|
... and continue with the newly created copy as target for the next
hard links. In this way, we get rid of the restriction we used to
have that the number of identical inputs be not greater than the
hardlink limit.
|
|
Instead of returning a plain boolean, return an expected with the same
boolean value that in case of an error indicates the error code. In this
way, an error-specific handling is possible by consumers. While there,
also add proper quoting of the involved file names.
|
|
|
|
|
|
... instead of static calls to GarbageCollector
|
|
|
|
...instead of std::filesystem::path.
StorageConfig is extended to return paths of Storage's parts.
|
|
|
|
|
|
...and adjust AnalyseContext.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
...to track changes during refactoring easier.
|
|
|
|
...since it is an extra class that overcomplicates the config class.
|
|
|
|
|
|
Use a builder pattern for creation and validation, in a manner that
allows also other authentication methods to be added in the future
besides the current TLS/SSL.
The main Auth instances are built early and then passed by not_null
const pointers, to avoid passing temporaries, replacing the previous
Auth::TLS instances passed by simple nullable const pointers. Where
needed, these passed Auth instances are also stored, by const ref.
Tests also build Auth instances as needed, either with the default
'no certification' or from the test environment arguments.
|
|
|
|
|
|
|
|
...to more easily keep track of changes during refactoring.
|
|
Since c++17 the 'explicit' keyword has use also for constructors
with more than one argument and it is recommended to use it by
default whereever implicit conversions are not expected bahaviour.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
... mimicking C++23's std::(un)expected, so we can more
easily adapt to newer C++ standards once we decide to
upgrade.
|
|
|
|
...since it is used for capturing in lambdas for AsyncMaps and mustn't be temporary.
|
|
|
|
|
|
...instead of std::optional<gsl::not_null<RepositoryConfig const*>>.
|
|
...instead of std::optional<gsl::not_null<IExecutionApi const*>>
|
|
The build tool prints status messages at the end of each of the
major stages that sequentially follow each other. This allows,
in particular when using log files (that contain time stamps) to
quickly identify which phase was the resource consuming one. All
these message mention the (same!) configured target that is process
by this invocation of the build tool. In the presence of toolchains,
the configuration can, however, get quite large (containing lots of
paths to various tools). Therefore, shorted the configuration in the
repeated menions if it is very long (currenlty 320 characters); as
we do not change the first mentinoing ("Requested target is ..."),
even with that shortening the log contains the same information.
|
|
Most built-in rules are just described by their name, assuming they
are known to the user anyway. One exception, however, are "export"
targets, as those serve as interfaces to (logical) repositories and
hence is supposed to have a documentation of the target itself. Over
time, however, "configure" targets have evolved to become internal
interfaces (maybe even for an external target), e.g., to provide
default values and hence make better use of the actual export target.
Therefore it is desirable to provide a bit more information when
asked to describe a "configure" target.
- As "configure" targets have a fixed set of keys, adding a "doc"
field is a conservative extension; this can be useful to give an
overview what the target is about.
- An important information of a "configure" target is the target
that is configured. While this, in general, is an expression, in
the typical cases, the description is very short (a literal target
name, or a variable). So we can afford to show the definition.
|