Commits on Source 16
-
Jonathan Maw authored
-
Jonathan Maw authored
The separator is useful in source files other than _project.py
-
Jonathan Maw authored
This is part of a later plan to implement mirroring without forcing everyone to update their sources. We use the expected calls to Source.translate_url() when running Source.configure() to extract the aliases from the URL. Multiple aliases must be extracted because sources exist that may fetch from multiple aliases (for example, git submodules) Later, we want to substitute another URI where the alias normally reads from the project - We accomplish this by re-instantiating the Source with the alias overrides passed as an argument to the constructor.
-
Jonathan Maw authored
**KLUDGE WARNING**: This involves making the source store its "meta" object so that it's possible to create a copy of the source inside the fetch queue, instead of back when the pipeline was being loaded. This adds the SourceFetcher class, which is intended for sources that fetch from multiple URLs (e.g. the git source and its submodules) Fix when fetching
-
Jonathan Maw authored
In user config (buildstream.conf), it is set with the "default-mirror" field. On the command-line, it is set with "--default-mirror"
-
Jonathan Maw authored
-
Jonathan Maw authored
This fixes: * Bzr repositories pulling from the branch they were created with. * Bzr's _ensure_mirror() not actually checking that it successfully mirrored the ref.
-
Jonathan Maw authored
When implementing fetching from mirrors, I encountered some problems with the git source: 1. The mirror URL was using translate_url()'s output, so if a different alias was used, then fetching from the mirror would go to a different directory, and be inaccessible. 2. After fixing that, fetching was unable to pull from a URL other than the one used at repository creation, meaning it wouldn't actually pull from the mirror.
-
Jonathan Maw authored
This is helpful if you want to test what happens when you have one repo that has diverged from another. By copying the repo you're sure they start with shared history. This is especially useful when mirroring.
-
Jonathan Maw authored
-
Jonathan Maw authored
-
Jonathan Maw authored
-
Jonathan Maw authored
-
Tristan Van Berkom authored
source mirrors backport See merge request !582
-
Tristan Van Berkom authored
-
Tristan Van Berkom authored
Use os.rename() to rename the cloned temporary repository into place in the source cache, and issue a STATUS message when discarding a duplicate clone, in the case where the same repository is cloned twice in parallel. The problem with using shutil.move() is that it will create the source directory in a subdirectory of the destination when the destination exists, so it's behavior depends on whether the destination exists. This shutil.move() behavior has so far hidden the race condition where a duplicate repo is created in a subdirectory, as you need to have three concurrent downloads of the same repo in order to trigger the error. This fixes issue #503