| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
When doing a diff for use in status, we should never show the
content of a git repository contained inside another one. The
logic to do this was looking for a .git directory and so when a
gitlink plain .git file was used, it was failing to exclude the
directory content.
|
| |
|
|\
| |
| | |
In-memory packing backend
|
| | |
|
|\ \
| | |
| | | |
Fix submodule sort order during iteration
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
With the changes to how git_path_dirload_with_stat handles things
that look like submodules, submodules could end up sorted in the
wrong order with the workdir iterator. This moves the submodule
check earlier in the iterator processing of a new directory so
that the submodule name updates will happen immediately and the
sort order will be correct.
|
| | | |
|
|\ \ \
| | | |
| | | | |
Add CFLAGS -Wdeclaration-after-statement
|
|/ / /
| | |
| | |
| | | |
This warns local variables declarations after statement, which helps not to break MSVC
|
|\ \ \
| | | |
| | | | |
Use git_object_short_id in examples
|
| | | | |
|
|\ \ \ \
| |/ / /
|/| | | |
Rename in-memory remote to anonymous and swap url and fetch order
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The order in this function is the opposite to what
create_with_fetchspec() has, so change this one, as url-then-refspec is
what git does.
As we need to break compilation and the swap doesn't do that, let's take
this opportunity to rename in-memory remotes to anonymous as that's
really what sets them apart.
|
|\ \ \
| |_|/
|/| | |
Fix git_odb_short_id and git_odb_exists_prefix bugs
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The git_odb_exists_prefix API was not dealing correctly when a
later backend returned GIT_ENOTFOUND even if an earlier backend
had found the object.
Additionally, the unit tests were not properly exercising the API
and had a couple mistakes in checking the results.
Lastly, since the backends are not expected to behavior correctly
unless all bytes of the short id are zero except for the prefix,
this makes the ODB prefix APIs explicitly clear out the extra
bytes so the user doesn't have to be as careful.
|
|\ \ \
| | | |
| | | | |
Const up members of git_merge_file_result
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
Introduce git_merge_head_id
|
| | | | |
|
|\ \ \ \
| |/ / /
|/| | | |
Don't reset need_pack
|
|/ / /
| | |
| | | |
While looping over multiple heads, an up-to-date head will clobber the `remote->need_pack` setting, preventing the rest of the machinery from building and downloading a pack-file, breaking fetches.
|
|\ \ \
| | | |
| | | | |
Update clar to 4b75388
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
RFC: Sandbox HOME during test execution
|
| | | | |
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
Fix use-after-free in submodule reload code and other memory leaks
|
| | | | |
|
| | | | |
|
|/ / /
| | |
| | |
| | |
| | |
| | | |
If the first call to release a no-longer-existent submodule freed
the object, the check if a second is needed would dereference the
data that was just freed.
|
|\ \ \
| | | |
| | | | |
Fix segfault if gitmodules is invalid
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When a submodule was inserted with a different path and name, the
return value from khash greater than zero was allowed to propagate
back out to the caller when it should really be zeroed. This led
to a possible crash when reloading submodules if that was the
first time that submodule data was loaded.
|
|/ / /
| | |
| | |
| | |
| | |
| | | |
The reload_all call could end up dereferencing a NULL pointer if
there was an error while attempting to load the submodules config
data (i.e. invalid content in the gitmodules file). This fixes it.
|
|\ \ \
| | | |
| | | | |
Cleanup some warnings and mem leaks
|
| | | | |
|
|/ / / |
|
|\ \ \
| |_|/
|/| | |
Make submodules externally refcounted
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This cleans up some places I missed that could hold onto submodule
references and cleans up the way in which the repository cache is
both reloaded and released so that existing submodule references
aren't destroyed inappropriately.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
`git_submodule` objects were already refcounted internally in case
the submodule name was different from the path at which it was
stored. This makes that refcounting externally used as well, so
`git_submodule_lookup` and `git_submodule_add_setup` return an
object that requires a `git_submodule_free` when done.
|
|\ \ \
| | | |
| | | | |
Update behavior for untracked contained repositories
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When a directory containing a .git directory (or even just a plain
gitlink) was found, libgit2 was going out of its way to treat it
specially. This seemed like it was necessary because the diff
code was not originally emulating Git's behavior for untracked
directories correctly (i.e. scanning for ignored vs untracked items
inside). Now that libgit2 diff mimics Git's untracked directory
behavior, the special handling for contained Git repos is actually
incorrect and this commit rips it out.
|
|\ \ \
| | | |
| | | | |
clone: don't overwrite original error message
|
| | | | |
|
|/ / / |
|
|\ \ \
| |/ /
|/| | |
Callback function to hide commit and its parents in revision walker
|
| | | |
|