| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
When we rename a submodule, we should be merging two sets of information
based on whether their path is the same. We currently only deduplicate
on equal name, which causes us to double-report.
|
|\
| |
| | |
filter::stream: free the filter sanely
|
| |
| |
| |
| |
| |
| | |
Don't use the filter's free callback to free the actual data structure
holding the filter, as we may not always actually initialize it (the
test may be skipped).
|
| |
| |
| |
| |
| | |
When two submodules are fairly similar, we may end up loading the wrong
one.
|
|/
|
|
|
|
|
|
| |
The function was removed, but its declaration and changelog entry about
its removal were forgotten.
The comment in the test doesn't make any sense as the function doesn't
exist anymore, so get rid of it as well.
|
| |
|
| |
|
|\
| |
| | |
Remove some warnings
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|/
|
|
|
| |
We allow looking up a submodule by path, but we lost the path
normalisation during the recent changes. Bring it back.
|
|\
| |
| | |
Plug a bunch of leaks
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | | |
stash: test we apply using reflog-like indices
|
| |/ |
|
|\ \
| |/
|/| |
Fixes
|
| | |
|
|\ \
| | |
| | | |
Stash apply: stage new files even when not updating the index
|
| | |
| | |
| | |
| | |
| | | |
Files that were new (staged additions) in the stash tree should
be staged when unstashing, even when not applying the index.
|
| | | |
|
| | | |
|
| | | |
|
| |/
|/| |
|
| |
| |
| |
| |
| | |
Test that workdir diffs, when presented with UPDATE_INDEX, only
write the index when they actually make a change.
|
|\ \
| |/
|/| |
Rename FALLBACK to UNSPECIFIED
|
| |
| |
| |
| |
| | |
Fallback describes the mechanism, while unspecified explains what the
user is thinking.
|
|\ \
| | |
| | | |
remote: insert refspecs with no rhs in FETCH_HEAD
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When a refspec contains no rhs and thus won't cause an explicit update,
we skip all the logic, but that means that we don't update FETCH_HEAD
with it, which is what the implicit rhs is.
Add another bit of logic which puts those remote heads in the list of
updates so we put them into FETCH_HEAD.
|
|\ \ \
| |_|/
|/| | |
Don't allow growing borrowed buffers
|
| | |
| | |
| | |
| | |
| | | |
This explains more closely what happens. While here, set an error
message.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When we don't own a buffer (asize=0) we currently allow the usage of
grow to copy the memory into a buffer we do own. This muddles the
meaning of grow, and lets us be a bit cavalier with ownership semantics.
Don't allow this any more. Usage of grow should be restricted to buffers
which we know own their own memory. If unsure, we must not attempt to
modify it.
|
|\ \ \
| | | |
| | | | |
Remove run-time configuration settings from submodules
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In addition to mapping enums to strings in the configuration, we need to
know to delete the configuration option when given the "none" or "no"
option.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The current code will always fail, but only because it's asking for a
string on a live config. Take a snapshot and make sure we fail with
ENOTFOUND instead of any old error.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
We no longer have any setters which affect an instance, so
`git_submodule_save()` is no longer relevant.
|
| | | |
| | | |
| | | |
| | | | |
With this one, we can get rid of the edit_and_save test.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Similarly to the other ones. In this test we copy over testing
`RECURSE_YES` which shows an error in our handling of the `YES` variant
which we may have to port to the rest.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Moving on with the removal of runtime-changing variables, the update
setting for a remote is whatever it was when it was looked up.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This lets us specify in the status call which ignore rules we want to
use (optionally falling back to whatever the submodule has in its
configuration).
This removes one of the reasons for having `_set_ignore()` set the value
in-memory. We re-use the `IGNORE_RESET` value for this as it is no
longer relevant but has a similar purpose to `IGNORE_FALLBACK`.
Similarly, we remove `IGNORE_DEFAULT` which does not have use outside of
initializers and move that to fall back to the configuration as well.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
As submodules are becomes more like values, we should not let a status
check to update its properties. Instead of taking a submodule, have
status take a repo and submodule name.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Instead of affecting a particular instance, make it change the
configuration.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Having this cache and giving them out goes against our multithreading
guarantees and it makes it impossible to use submodules in a
multi-threaded environment, as any thread can ask for a refresh which
may reallocate some string in the submodule struct which we've accessed
in a different one via a getter.
This makes the submodules behave more like remotes, where each object is
created upon request and not shared except explicitly by the user. This
means that some tests won't pass yet, as they assume they can affect the
submodule objects in the cache and that will affect later operations.
|
|\ \ \ \
| | | | |
| | | | | |
Handle binary DIFFABLEness properly
|