Age | Commit message (Collapse) | Author |
|
When converting a directory to git, just-mr.py shells out to git
to to the actual conversion. However, not in all cases git waits
for its children, in particular when deciding to implicitly run
git-gc ("Auto packing the repository in background for optimum
performance.") This causes problems, as we assume that after git
finishes we safely can remove the temporary directory from which
we pulled; however, the shutils.rmtree function we call for this
assumes the directory to be removed not to be changed by other
processes---like git removing the file gc.pid. Work around this,
by retrying the removal of no longer needed temporary directories.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
... so that destinations like "foo/." are handled correctly.
Also, support linking to "." in trees by only late creation of the
input directory.
|
|
... and also use it for "git init" and "git add" as well, to avoid
effects of unusual git configurations.
|
|
While git's (sha1-based) blob identifier is good for daily use and
strong enough to avoid accidental hash collisions (after all, we're
using git to version our sources), sha1 is no longer considered
safe enough to verify files downloaded through an unsecure channel.
Therefore, support additional checksum verification when obtaining
a file from the network.
|
|
Some libraries, e.g., libgit2, bring an include directory that is
expected to occur directly in the search path (containing a git2
directory and a git2.h file). Support this use case by allowing
"." as include_name in the bootstrap hints.
|
|
|
|
|
|
|
|
|
|
... so accessing the CAS from a different cwd wont fail if
the local_build_root was provided as relative path.
|
|
As the default target is also staged canonically, there
is no longer the need for the bootstrap script to know
the path and staging output of the internal main target.
|
|
... so that the calls using stdin/stdout redirect also work
properly.
|
|
... and in this way enable them to present themselves to our tool
als fully specified content (which will be useful once we add target
caching). If that file root is under git anyway (like the rules or
external target files in this repository) computing that git root
is also a relatively cheap operation.
|
|
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>
|