| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
git_status_file would always return GIT_ENOTFOUND for these files.
The underlying bug was that git__strcmp_cb, which is used by
git_path_with_stat_cmp to sort entries in the working directory,
compares strings based on unsigned chars (this is confirmed by the
strcmp(3) manpage), while git__prefixcmp, which is used by
workdir_iterator__entry_cmp to search for a path in the working
directory, compares strings based on char. So the sort puts this path at
the end of the list, while the search expects it to be at the beginning.
The fix was simply to make git__prefixcmp compare using unsigned chars,
just like strcmp(3). The rest of the change is just adding/updating
tests.
|
| |
|
| |
|
| |
|
|\
| |
| | |
Add HTTPS support
|
| |
| |
| |
| |
| | |
Sometimes it's useful not to perform the check. Allow it to be
configurable.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
It's too much work for now to redo everything.
Move the ssl context struct to transport.h
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
This should help us free some resources, though the libraries do keep
some buffers allocated regardless.
|
| |
| |
| |
| | |
Add specific functions that use OpenSSL instead of GnuTLS
|
| |
| |
| |
| |
| |
| |
| |
| | |
If it's not available, an error saying so will be returned when trying
to use a https:// URL.
This also unifies a lot of the network code to use git_transport in
many places instead of an socket descriptor.
|
|\ \
| | |
| | | |
Make git_repository_init() value "core.filemode" and "core.ignorecase"
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
libgit2-glib bindings moved to gnome servers
|
| | | | |
|
| | | | |
|
|\ \ \ \
| |_|/ /
|/| | | |
config: do not set an error for GIT_ENOTFOUND
|
| | | |
| | | |
| | | |
| | | |
| | | | |
An unset config variable isn't bad per se -- let the call site set an
error in case GIT_ENOTFOUND isn't acceptable.
|
|\ \ \ \
| | | | |
| | | | | |
Remotes and refspecs
|
| | | | |
| | | | |
| | | | |
| | | | | |
specifier
|
| | |/ /
| |/| | |
|
|\ \ \ \
| | | | |
| | | | | |
Fix git_remote_connected
|
| | | | |
| | | | |
| | | | |
| | | | | |
attribute to 0.
|
|/ / / / |
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
Fix checking for the presence of a flag
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
Enable mingw cross-compilation in travis-ci
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Two things:
1) By default, Linux CMake puts -fPIC on the link line. So we remove that
for MINGW to avoid warnings that it will be ignored.
2) Similarly, move -fvisibility=hidden flag to be for non-mingw
compilation only to avoid warnings that it will be ignored.
|
|/ / /
| | |
| | |
| | | |
Otherwise we can't cross-compile on Linux.
|
|\ \ \
| | | |
| | | | |
tests-clar/core: fix non-null warning
|
|/ / /
| | |
| | |
| | |
| | | |
gcc 4.7.0 apparently doesn't see that we won't call setenv with NULL as
second argument.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The error codes from failed lookups of system and global files
on Windows were not consistent with the codes returned on other
platforms. This makes the error detection patterns match and
adds a unit test for the various errors.
|
|\ \ \
| | | |
| | | | |
Fix bugs for status
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This fixes two bugs:
* Issue #728 where git_status_file was not working for files
that contain spaces. This was caused by reusing the "fnmatch"
parsing code from ignore and attribute files to interpret the
"pathspec" that constrained the files to apply the status to.
In that code, unescaped whitespace was considered terminal to
the pattern, so a file with internal whitespace was excluded
from the matched files. The fix was to add a mode to that code
that allows spaces and tabs inside patterns. This mode only
comes into play when parsing in-memory strings.
* The other issue was undetected, but it was in the recently
added code to reload gitattributes / gitignores when they were
changed on disk. That code was not clearing out the old values
from the cached file content before reparsing which meant that
newly added patterns would be read in, but deleted patterns
would not be removed. The fix was to clear the vector of
patterns in a cached file before reparsing the file.
|
|\ \ \
| | | |
| | | | |
windows: Properly expand all environment variables
|
| | | | |
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
Get user's home dir in UTF-16 clean manner
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The function to convert UTF-16 to UTF-8 was only allocating a
buffer of wcslen(utf16str) bytes for the UTF-8 string, but that
is not sufficient if you have multibyte characters, and so when
those occured, the conversion was failing. This updates the
conversion functions to use the Win APIs to calculate the correct
buffer lengths.
Also fixes a comparison in the unit tests that would fail if
you did not have a particular environment variable set.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
On Windows, we are having problems with home directories
that have non-ascii characters in them. This rewrites the
relevant code to fetch environment variables as UTF-16 and
then explicitly map then into UTF-8 for our internal usage.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We used to consider a missing core.bare option to mean that the
repository was corrupt. This is too strict. Consider it a non-bare
repository if it's not set.
|
| | | | |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Make git_futils_mkdir_r() able to cope with Windows network paths
|