| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
This avoids problems with files with the right names but partial
content, if morph is killed in the middle of writing the file.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes it easier to check the output with vgrep for errors or
problems. Voluminous git output made that hard.
The key is that "git bundle create" has no --quiet optio (meh),
so we have to redirect stderr to /dev/null. However, that would
hide real errors, which we want to catch. Luckily, we can just
replace the call to subprocess.call with a call to
subprocess.check_call, and then we'll at least abort if there's
an error, instead of silently ignoring it.
|
| |
|
|
|
|
|
| |
This is a bit stupid and requires tests to be adjusted (which is done in
this commit as well).
|
|
|
|
| |
This is to improve logging, error reporting and readability of the code.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit introduces the following new classes:
morphlib.git.Submodules:
* takes a parent repo treeish
* parses the .gitmodule file into morphlib.git.Submodule objects
* provides iterator/container functionality for submodules
morphlib.git.Submodule:
* represents a single entry in a .gitmodules file
* stores a Treeish for the corresponding repository
In addition to this, the exception classes InvalidTreeish and
SourceNotFound where renamed to InvalidReferenceError and
RepositoryUpdateError. Several new exception classes were added for when
resolving submodules fails.
The SourceManager now resolves the Submodules and Submodule objects for
the submodules of a Treeish in SourceManager.get_treeish() and also
takes care of caching submodule repositories whenever necessary.
|
|
|
|
|
|
| |
This is useful because we still have a mix of sudo and fakeroot, which
can cause permission issues in repos. This way, we can work around this
problem in some situations.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This affects pretty much every part of morph, so this might not be fully
working and stable yet.
This commit also introduces the "update-gits" command that can be used
to update all cached repositories from the list of base URLs. The tree
walk when resolving the Treeish objects in Builder.get_cache_id() is a
bit similar to what we do in BuildDependencyGraph, maybe we can merge
that one day.
|
|
|
|
|
| |
tests/show-dependencies.setup was actually creating different
histories on machines with different timezones.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|