While we download the remote's remote-tracking branches, we don't
download the tag. This points to the tag auto-follow rules interfering
with the refspec.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQEcBAABAgAGBQJVyJsAAAoJEKPQMr0n6UoaHEIIAILDoUvGOpVEqKyemeQ+lKAz
hElVNcQzjSmjb4BbXbvGadtSkknqljjwrpKcRkrBam5SfetF0xkEMqhCVUHPHt+G
OwOCm1EStToL7iCpDfUHwFp5kZPkmWo8bLBv1SWLHVPbgZpqLxfpYH2nBKX8NeQU
a0OVEz0pGpV+q5NT9tEEtvAx1MvDmLngkbz70e+1Rjzr4ZM/mQoxJ2KenVmkwnkx
w3YyDVZv7tKGtN1UAbjhpFMdX8JR3lAtZLccs66mpPAnlZle/DZVnBk5QyijVQC6
+AjkGWAQUIjD4ZkuQ3jlflhKCK+//rx45LFM8KAlhg1PWALFJfWyKm/xZ1I0GpE=
=Z7Zv
-----END PGP SIGNATURE-----
Merge tag 'upstream/0.23.1'
Updated to 0.23.1
* tag 'upstream/0.23.1': (29 commits)
Bump version to v0.23.1
Stage an unregistered submodule in _add_bypath()
filebuf: remove lockfile upon rename errors
filebuf: failing test for leaving the lockfile when failing to rename
Increase required version of cmake to 2.8
Handle ssh:// and git:// urls containing a '~' character.
Remove extra semicolon outside of a function
Cherry-pick PR #3332: Resolve documentation warnings
case-insensitive check for WWW-Authenticate header
iterator: adjust unreadable-dir test to new behaviour
iterator: skip over errors in diriter init
Make libgit2 work on Windows Vista again
Document git_fetch_options struct and fix typo.
Fix macro redefinition warning
submodule: normalize slashes in resolve_url
submodule: add failing test for backslash in url
Fix#3094 - improve use of portable size_t/ssize_t format specifiers.
filter: make sure to close the stream even on error
index: allow add_bypath to update submodules
blob: fail to create a blob from a dir with EDIRECTORY
...
When curl uses a proxy, it will only use Basic unless we prompt it to
try to use the most secure on it has available.
This is something which git did recently, and it seems like a good idea.
With Visual Studio versions 2008 and older they ignore the full path to files and only check
the basename of the file to find a collision. Additionally, having duplicate basenames can break
other build tools like GYP.
This fixes https://github.com/libgit2/libgit2/issues/3356
When we have an error renaming the lockfile, we need to make sure
that we remove it upon cleanup. For this, we need to keep track of
whether we opened the file and whether the rename succeeded.
If we did create the lockfile but the rename did not succeed, we
remove the lockfile. This won't protect against all errors, but
the most common ones (target file is open) does get handled.
Allow restoring a previously captured oom error, by
detecting when the captured message pointer points to the
static oom error message. This means there is no need
to strdup the message in giterr_detach.
Error messages that are detached are assumed to be dynamically
allocated. Passing a pointer to the static oom error message
can cause an attempt to free the static buffer later. This change
checks if the oom error message is about to be detached and detaches
a copy instead.
An error here will typically mean that the directory was removed between
the time we iterated the parent and the time we wanted to visit it in
which case we should ignore it.
Other kinds of errors such as permissions (or transient errors) also
better dealt with by pretending we didn't see it.
When we pass the path of a repository to `_bypath()`, we should behave
like git and stage it as a `_COMMIT` regardless of whether it is
registered a a submodule.
Instead of allocating a brand new buffer for each error string we want
to store, we can use a per-thread buffer to store the error string and
re-use the underlying storage. We already use the buffer to format the
string, so this mostly makes that more direct.
git_fetch_options was missing from the API docs because it lacked a
documentation comment above the struct declaration.
I used the git_checkout_options docstring as a template.
Also fixes a typo in git_remote_prune_refs (remote, not reamote).