| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
There is one well-known and well-tested parser which we should use,
instead of implementing parsing a second time.
The common parser is also augmented to copy the LHS into the RHS if the
latter is empty.
The expressions test had to change a bit, as we now catch a bad RHS of a
refspec locally.
|
|\
| |
| | |
ignore: consider files with a CR in their names
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We currently consider CR to start the end of the line, but that means
that we miss cases with CR CR LF which can be used with git to match
files whose names have CR at the end of their names.
The fix from the patch comes from Russell's comment in the issue.
This fixes #2536.
|
| | |
|
|\ \
| |/
|/| |
Make config reading continue after hitting a missing include file.
|
| |
| |
| |
| |
| |
| |
| |
| | |
* Error-handling is cleaned up to only let a file-not-found error
through, not other sorts of errors. And when a file-not-found
error happens, we clean up the error.
* Test now checks that file-not-found introduces no error. And
other minor cleanups.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For example, if you have
[include]
path = foo
and foo didn't exist, git_config_open_ondisk() would just give up
on the rest of the file. Now it ignores the unresolved include
without error and continues reading the rest of the file.
|
|/
|
|
|
|
|
|
|
|
|
| |
An anonymous remote wouldn't create remote-tracking branches, so testing
we don't create them for TAGS_ALL is nonsensical. Furthermore, the name
of the supposed remote-tracking branch was also not one which would have
been created had it had a name.
Give the remote a name and test that we only create the tags when we
pass TAGS_ALL and that we do create the remote-branch branch when given
TAGS_AUTO.
|
| |
|
|
|
|
|
| |
Rename git_merge_head to git_annotated_commit, as it becomes used
in more operations than just merge.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Already cherry-picked commits should not be re-included. If all changes
included in a commit exist in the upstream, then we should error with
GIT_EAPPLIED.
|
|
|
|
| |
Commit the current patch of a rebase process.
|
| |
|
|
|
|
|
|
| |
`git_rebase_next` will apply the next patch (or cherry-pick)
operation, leaving the results checked out in the index / working
directory so that consumers can resolve any conflicts, as appropriate.
|
|
|
|
|
| |
Abort an in-progress rebase and move the working directory and
repository back to the ORIG_HEAD state.
|
|
|
|
|
|
| |
Introduce `git_rebase` to set up a rebase session that can
then be continued. Immediately, only merge-type rebase is
supported.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
config: remove the refresh function and backend field
|
| |
| |
| |
| |
| |
| | |
We have been refreshing on read and write for a while now, so
git_config_refresh() is at best a no-op, and might just end up wasting
cycles.
|
|\ \
| | |
| | | |
remote: accept a repo and name for renaming
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Remote objects are not meant to be changed from under the user. We did
this in rename, but only the name and left the refspecs, such that a
save would save the wrong refspecs (and a fetch and anything else would
use the wrong refspecs).
Instead, let's simply take a name and not change any loaded remote from
under the user.
|
|\ \
| | |
| | | |
clar: use a custom temp directory name
|
| |/ |
|
|/
|
|
|
|
|
| |
This function does not in fact tell us anything, as almost anything with
a colon in it is a valid rsync-style SSH path; it can not tell us that
we do not support ftp or afp or similar as those are still valid SSH
paths and we do support that.
|
|\
| |
| | |
Refresh git configuration before looking for the tracking branch redux.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Git for Windows will handle UNC paths only when in forward-slash
format, eg "//server/path". When given a UNC path as a remote,
rewrite standard format ("\\server\path") into this ridiculous
format.
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
The entry_count field is the amount of index entries covered by a
particular cache entry, that is how many files are there (recursively)
under a particular directory.
The current code that attemps to do this is severely defincient and is
trying to count the amount of children, which always comes up to zero.
We don't even need to recount, since we have the information during the
cache creation. We can take that number and keep it, as we only ever
invalidate or replace.
|
| |
|
|
|
|
|
|
|
| |
If there is a failure then cl_git_pass tries to get the libgit2
error, but p_... functions don't set that.
Also - trailing whitespace cleanup.
|
|
|
|
|
| |
If e.g. the root tree is invalidated, we still want to write out
its children, since those may still have valid cache entries.
|
|
|
|
|
|
|
|
|
|
| |
Keeping the cache around after read-tree is only one part of the
optimisation opportunities. In order to share the cache between program
instances, we need to write the TREE extension to the index.
Do so, taking the opportunity to rename 'entries' to 'entry_count' to
match the name given in the format description. The included test is
rather trivial, but works as a sanity check.
|
|
|
|
|
| |
These test that we invalidate at the right levels and that we remove the
tree cache when clearing the index.
|
|\
| |
| | |
remote: accept a repository and remote name for deletion
|