Age | Commit message (Collapse) | Author |
|
|
|
|
|
...that is fully replaced by hash_info
|
|
...that validates hashes and stores some additional information about them.
|
|
...in async map instances, same as for reporting cycles.
This removes the restriction that the key object has to posses the
ToString method, allowing it to be used, e.g., with just-mr maps.
The now obsolete HasToString concept is removed.
|
|
... while keeping our .clang-format file.
|
|
! => not; && => and, || => or
|
|
For the user it is more useful to see the actual error message,
provided by strerror(), than the pure error code.
|
|
|
|
|
|
... mimicking C++23's std::(un)expected, so we can more
easily adapt to newer C++ standards once we decide to
upgrade.
|
|
... and thus allowing proper quoting of command output.
|
|
|
|
... by removing from an object the outer keys where the value is null.
|
|
|
|
|
|
Main culprits:
- std::size_t, std::nullptr_t, and NULL require <cstddef>
- std::move and std::forward require <utility>
- unordered maps and sets require respective includes
- std::for_each and std::all_of require <algorithm>
|
|
Some of the more specific issues addressed:
- missing log_level target/include
- header-only libs wrongly marking deps as private
- missing/misplaced gsl includes
|
|
... and prohibit moves and move assignments.
|
|
|
|
... as any unguarded access to non-const members of the same
shared_ptr instance require the use of `atomic_load` and
`atomic_store`.
|
|
|
|
This function is mainly used to check that the hash of a Digest
received over the wire is a real hash, to prevent a malicious attack.
|
|
|
|
|
|
... std::hash<fs::path> was first implemented in libstdc++
version 12. However, that change was also backported to
bug-fix release 11.4, so we may not include our
reimplementation if that version is used.
|
|
The formatter is based on fmt's ostream_formatter, using the provided
operator<<(std::ostream&) of nlohmann::basic_json. This is required to
allow compilation against fmt 10.x
Co-authored-by: Oliver Reiche <oliver.reiche@huawei.com>
|
|
... to suppress 'unused function' warnings.
|
|
|
|
|
|
|
|
... and in this way, ensure we can lock files given by absolute
path even if we don't have a working directory. While there, drop
uncessary split just to combine of the file name.
|
|
...and make the use of std::hash consistent.
This will make it easier to remove the fix once the libc
implementation we use catches up with the C++ standard.
|
|
... with two minor code base changes compared to previous
use of gsl-lite:
- dag.hpp: ActionNode::Ptr and ArtifactNode::Ptr are not
wrapped in gsl::not_null<> anymore, due to lack of support
for wrapping std::unique_ptr<>. More specifically, the
move constructor is missing, rendering it impossible to
use std::vector<>::emplace_back().
- utils/cpp/gsl.hpp: New header file added to implement the
macros ExpectsAudit() and EnsureAudit(), asserts running
only in debug builds, which were available in gsl-lite but
are missing in MS GSL.
|
|
...in order to not include unwanted dependencies in just proper.
As the whole other_tools folder is meant to be excluded from
bootstrapping, also remove the bootstrap guards.
|
|
...in order to not include unwanted dependencies in just proper.
As the whole other_tools folder is meant to be excluded from
bootstrapping, also remove the bootstrap guards.
|
|
As opposed the earlier ideas, the implemented behaviour is that the
file name of the lock is given explicitly. Fix comments accordingly.
|
|
|
|
For libcurl we need to set the CURL_FOLLOWLOCATION flag (disbaled by
default) to enable 3xx redirects. Libcurl has sane defaults for
related settings in order to handle redirects when enabled, though
for fetches there should be limited risks, as content (and SHA hashes,
if provided) is checked to ensure the intended archives are fetched.
|
|
|
|
|
|
|
|
|
|
|
|
Signed-off-by: Goetz Brasche <goetz.brasche@huawei.com>
|
|
|
|
|
|
To an intended number of characters by leaving out the parts
after a given depth. As the correct depths has to be determined,
the JSON value is serialized several times; hence the method is
slow, but acceptable for the generation of error messages.
|
|
|
|
|