Age | Commit message (Collapse) | Author |
|
|
|
This usage of a different header file is required to break a cyclic dependency
coming with the introduction of the garbage collector. entity_name implicitly
depends on local_cas, which will get a new dependency to garbage_collector.
garbage_collector depends on target_cache_entry, which transitively depends on
entity_name. entity_name_data instead does not depend on local_cas and breaks
the cycle.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Both, the python script as well as the compiled variant of just-mr
fetch try to overwrite already existing distfiles in the distdir.
While it is unclear if overwriting existing distfiles or not
copying to distdir if a file with that name already exists is the
better behaviour, we at least should not error out, as the compiled
just-mr currently does as it sets permission to 444 and hence cannot
overwrite later; fix this by addwing owner write permissions before
overwriting.
|
|
|
|
The absent value for an optional string is std::nullopt, not
the empty string.
|
|
just-mr fetch is supposed to fetch to the first (in search order)
distdir that is an existing directory (and error out if no such
directory exists). So, once a directory is found, there is no need
to create it---we already verified it is an existing directory.
|
|
... in error message reporting the lack of present distdirs.
|
|
... to avoid potential staging conflicts. Having them staged to
just-mr was a copy-and-paste error in the first place anyway.
|
|
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.
|
|
|
|
... to ensure unique readability even with file names containing
spaces or other special symbols; those kind of fancy file names
typically occur when a string intended as named target is implicitly
taken as a file (e.g., due to a spelling error). While there, also
include directory and repository in the error message.
|
|
... by specifying that we always ensure the latest stable
release of just can build just at head. If the only version
available is older than the last stable release, it might
be necessary to go through the bootstrap path.
|
|
|
|
... to allow simple chaining of imports.
|
|
|
|
The main repository to be imported should be treated special,
whenever given. This has to be verified as the parameter not being
None, rather than being true, as the empty string (a traditional
name for the main repository) is also a false value in python.
|
|
in the end-to-end tests
|
|
This target uses the just-mr binary and will replace the Python
script in all non-bootstrap-related scenarios.
|
|
|
|
This provides the fix already performed for the just-mr script in
the internal just-mr as well. In short, this fix makes sure that the
computation of the content key for distdir repositories is
independent of the presence of the respective archives in CAS.
|
|
The subdir is required alongside the commit hash for a valid map
key when importing a Git repository into our Git cache.
|
|
Passing the logger by reference would require the caller to be
kept alive. Also, being a shared_ptr, the logger can be passed
by value at almost no cost.
|
|
Use intermediary unordered sets to store the repos to_setup and to_include
to avoid unnecessary duplicates. It is purely a performance benefit.
|
|
The parser was exiting early when the user gave no rc file, before
having the chance to look for the config file in the default locations.
|
|
... and, instead, stores all needed information in git and
CAS-independent index files.
|
|
... so that we can switch in one go and have all tests use a new
just-mr tool, e.g., once we consider the C++ implementation fully
ready. This single point of switch will be relevant as the next
commit will add the first end-to-end test for just-mr itself.
|
|
just-mr is designed to store everything that can be reported as git
tree entirely in git only. To avoid recomputation, just-mr keeps index
files mapping the description of a repository to the corresponding
git trees. For these index files to be useful, the computation of
the key has to be independent of the presence of the respective
archives in CAS. This will become even more important once garbage
collection will be added. Fix this for distdir repositories.
|
|
... which privately depends on pthreads.
|
|
... to show the argument vector properly serialized as json.
In this way, the vector can be read unambigiously even if
arguments contain white space.
|
|
Both ["", "ssl"] and ["", "crypto"] are targets of "boringssl"
that are intended for use outside this repository. Both depend on
the ["CC", "library"]-target ["", "crytpo-lib"], in fact even visibly,
as ssl has a library-dependency on the crypto library. Therefore,
we have to follow the standard export pattern that all uses of this
library go through the same (closest) export target. Fix this!
|
|
... dumping only the configured targets that are export targets.
Those targets are of particular interest as those are the targets,
as they are the high-level caching points and also often serve
as interface between projects.
|
|
Make export targets identify themselves in the result_map,
so that we have accurate knowledge of the export targets
seen.
|
|
Allow in the addition of a target to the result map to indicate
that it was an export target; in this way, the information is
available as a result of the analysis.
|
|
|
|
|
|
|
|
|
|
|
|
|