| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Remotes have a push method, which takes multiple RefSpecs, runs git push
using arguments derived from the set of refspecs, then returns the
push's result.
If it fails the push, it will return the result in the exception.
|
| |
|
|
|
|
| |
Operations on remotes are now accessed through this proxy object.
|
| |
|
|
|
|
|
| |
This is used to create commit objects. This is used by build without
commit to provide the behind-the-scenes history.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This represents the state of the index of a GitDirectory.
Methods that use the index are now used via the GitIndex class, rather
than using the default index, as previously used when the methods were
in GitDirectory.
GitIndex may be constructed with an alternative path, which can be used
to manipulate a git checkout without altering a developer's view of the
repository i.e. The working tree and default index.
This is needed for `morph build` and `morph deploy` to handle the build
without commit logic.
|
|
|
|
| |
This is needed for making commits without touching the workspace.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some APIs should take SHA1 object IDs, there needs to be a way to get
one from a ref. To handle this, we add APIs for getting either the
commit or the tree pointed to by the ref.
Commits are provided because we need to create commits from
existing commits and update refs from existing values.
Trees are provided because we need trees to create commits, and we can
read trees into the index to eventually create another tree.
|
|
|
|
|
|
|
| |
We need to use cat-file for files by SHA1, commits by SHA1 and files by
ref and path, so provide access in separate methods, since while it's
all the same thing "under the hood", it avoids the user needing to know
the command-line syntax.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
get_uncommitted_changes() is needed for morph status to tell if git
repositories have changes in them.
_get_status() is private, since it does not currently have a user, the
small amount of code in get_uncommitted_changes() wrapping _get_status()
is in the GitDirectory class instead of the branch and merge plugin,
since `morph build` will also need to know about uncommitted changes.
|
|
|
|
|
| |
This is needed for status to tell if a repo is checked out in an
unexpected branch.
|
|
|
|
|
|
| |
This adds methods to list and read files. The difference between doing
this to a commit and the currrent working tree is abstracted over by
whether the passed ref is None or omitted.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is needed when we load morphologies in "morph edit": it needs
to load things differently depending on whether we're loading from
the currently checked out ref or not.
The new method does not have a unit test, because I'm betting that
the test would not find a real bug. The test would just set up a
git repo and check whether the right ref is checked out in a couple
of ways (it is, and it isn't), and the code is simple enough that
it's unlikely to break the test. Creating the test, however, is a
fair bit of work. What the test would not catch is when we need the
method to do something quite different, but then we'll want a new
method anyway.
|
|
|