Age | Commit message (Collapse) | Author |
|
... by explicitly catching any possible exception. Mainly to make clang-tidy
happy.
...
|
|
...with respect to rejecting invalid entries such as upwards
symlinks. Also ensure that valid trees are only checked once by
remebering known valid tress though marker files in local storage.
|
|
...whenever it is given access to a Git repository.
The referenced storage config needs to outlive the repository
config instance.
|
|
This allows individual blobs read to be checked, e.g., for upwards
symlinks, also when not part of a tree, which performs such a
validation for its entries during its parsing into a GitTree.
|
|
Trying to access a git object return a recoverable failure, hence
the failure to find the object in the git object database should
be logged at warning level at most. Moreover, in some cases we
should log that event at an even lower level, e.g., if we're just
checking the presence of the object in the local git cas to avoid
unnecessary network access.
|
|
|
|
|
|
|
|
... as there might be cases where it is expected that setting the
git CAS fails, e.g., if referring to the implict git repository in
the local build root as a fallback CAS.
|
|
|
|
|
|
The class RepositoryConfig is mutable, but has a set-once derived
value, the largest bisimulation of the repositories described. This
construction is problematic in that it assumes that all modifications
be done before the first inspection of a value happens that implicitly
triggers the setting of the derived value. Therefore, at the very
least reset this derived value if a repository is modified.
|
|
|
|
|
|
...to prevent additional conversions to ArtifactDigest from plain strings.
|
|
|
|
...and adjust AnalyseContext.
|
|
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
|
|
With the introduction of 'just serve', export targets can now be
built also independently from one another based on their
corresponding minimal repository configuration, as stored in the
target cache key.
In this context, this commit changes the RepositoryConfig usage
from one global (static) instance to pointers passed as necessary
throughout the code.
|
|
|
|
Signed-off-by: Goetz Brasche <goetz.brasche@huawei.com>
|
|
|
|
In this way, we keep the repsitory description more close to a normal
multi-repository configuration. The only difference remaining is
the absence of repository locations for git-tree roots.
|
|
|
|
This is the initial version of our tool that is able to
build itself. In can be bootstrapped by
./bin/bootstrap.py
Co-authored-by: Oliver Reiche <oliver.reiche@huawei.com>
Co-authored-by: Victor Moreno <victor.moreno1@huawei.com>
|